CreateGroupElement Method (IElementFactory)
Create a group element from the input element collection and element
properties.
Parameters
- elementContainer
- The parent element container
- elements
- The collection of elements to be grouped (optional)
- elementName
- An element name (optional)
- select
- Select after create flag (default is true) (optional)
- groupElementInfo
- Additional element properties (optional)
Return Value
Create_Empty_Group_Root
//Create an empty group element at the root level of the contents pane.
//Construct on the worker thread
await QueuedTask.Run(() =>
{
//At 2.x - GroupElement emptyGroupAtRoot = LayoutElementFactory.Instance.CreateGroupElement(layout);
// emptyGroupAtRoot.SetName("Empty group at root");
GroupElement emptyGroupAtRoot = ElementFactory.Instance.CreateGroupElement(layout, null, "Empty group at root");
});
Create_Empty_Group_Group
//Create an empty group element at the root level of another group element.
//Find an existing group element
GroupElement existingGroupAtRoot = layout.FindElement("Empty group at root") as GroupElement;
//Construct on the worker thread
await QueuedTask.Run(() =>
{
//At 2.x - GroupElement emptyGroupInGroupAtRoot = LayoutElementFactory.Instance.CreateGroupElement(existingGroupAtRoot);
// emptyGroupInGroupAtRoot.SetName("Empty group in group at root");
GroupElement emptyGroupInGroupAtRoot = ElementFactory.Instance.CreateGroupElement(
existingGroupAtRoot, null, "Empty group in group at root");
});
Create_Group_With_Single_Element_Root
//Create a group with a single element at the root level of the contents pane.
//Find an existing element
Element titleElm = layout.FindElement("Title") as Element;
//Construct on the worker thread
await QueuedTask.Run(() =>
{
//At 2.x - GroupElement groupWithSingleElementAtRoot = LayoutElementFactory.Instance.CreateGroupElement(layout, titleElm);
// groupWithSingleElementAtRoot.SetName("Group with single element at root");
GroupElement groupWithSingleElementAtRoot =
ElementFactory.Instance.CreateGroupElement(layout, new List<Element>() { titleElm }, "Group with single element at root");
});
Create_Group_With_List_Elements_Root
//Create a group with a list of elements at the root level of the contents pane.
//Find an existing elements
Element scaleBar = layout.FindElement("Scale Bar") as Element;
Element northArrow = layout.FindElement("North Arrow") as Element;
Element legend = layout.FindElement("Legend") as Element;
//Build a list and add the elements
List<Element> elmList = new List<Element>
{
scaleBar,
northArrow,
legend
};
//Construct on the worker thread
await QueuedTask.Run(() =>
{
//At 2.x - GroupElement groupWithListOfElementsAtRoot = LayoutElementFactory.Instance.CreateGroupElement(layout, elmList);
// groupWithListOfElementsAtRoot.SetName("Group with list of elements at root");
GroupElement groupWithListOfElementsAtRoot =
ElementFactory.Instance.CreateGroupElement(layout, elmList, "Group with list of elements at root");
});
Create_Group_With_List_Element_Names_Root
//Create a group using a list of element names at the root level of the contents pane.
//Build list of element names
var elmNameList = new[] { "Table Frame", "Chart Frame" };
//Construct on the worker thread
await QueuedTask.Run(() =>
{
//GroupElement groupWithListOfElementNamesAtRoot = LayoutElementFactory.Instance.CreateGroupElement(layout, elmNameList);
//groupWithListOfElementNamesAtRoot.SetName("Group with list of element names at root");
//At 3.x use FindElements to retrieve the respective elements first
var elems = layout.FindElements(elmNameList);
GroupElement groupWithListOfElementNamesAtRoot =
ElementFactory.Instance.CreateGroupElement(layout, elems, "Group with list of element names at root");
});
Target Platforms: Windows 11, Windows 10
ArcGIS Pro version: 3 or higher.