ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Desktop.Layouts Namespace / Layout Class / FindElement(String) Method
String
Example

In This Topic
    FindElement(String) Method
    In This Topic
    Finds an element with the given name on the page layout.
    Syntax
    Public Function FindElement( _
       ByVal name As String _
    ) As Element
    public Element FindElement( 
       string name
    )

    Parameters

    name
    String

    Return Value

    Example
    Creating empty group elements
    {
      //Create an empty group element at the root level of the contents pane
      //Note: Must be on QueuedTask.Run
    
      //container is IElementContainer - GroupLayer or Layout
      GroupElement grp1 = ElementFactory.Instance.CreateGroupElement(
                            layout, null, "Group");
      // *** or ***
      //Create a group element inside another group element
    
      //Find an existing group element
      //container is IElementContainer - GroupLayer or Layout
      GroupElement existingGroup = layout.FindElement("Group") as GroupElement;
    
      //Create on worker thread
      GroupElement grp2 = ElementFactory.Instance.CreateGroupElement(
          existingGroup, null, "Group in Group");
    }
    Find an element on a layout
    {
      //Find an element on a layout.
      //Note: Must be on QueuedTask.Run
      // Reference and load the layout associated with the layout item
      Layout mylayout = layoutItem.GetLayout();
      if (mylayout != null)
      {
        //Find a single specific element
        Element rect = mylayout.FindElement("Rectangle") as Element;
    
        //Or use the Elements collection
        Element rect2 = mylayout.Elements.FirstOrDefault(item => item.Name.Equals("Rectangle"));
      }
    }
    Create a group element with elements
    {
      //Create a group with a list of elements at the root level of the contents pane.
    
      //Find an existing elements
      //container is IElementContainer - GroupLayer or Layout
      var elem1 = layout.FindElement("Polygon 1");
      var elem2 = layout.FindElement("Bezier Text");
      var elem3 = layout.FindElement("Cloud Shape 2");
    
      //Construct a list and add the elements
      var elmList = new List<Element>
      {
        elem1,
        elem2,
        elem3
      };
      //Note: Must be on QueuedTask.Run
    
      GroupElement groupWithListOfElementsAtRoot =
                ElementFactory.Instance.CreateGroupElement(
                         layout, elmList, "Group with list of elements at root");
      // *** or ***
    
      //Create a group using a list of element names at the root level of the contents pane.
    
      //List of element names
      var elmNameList = new[] { "Para Text1", "Line 3" };
    
      //Note: Must be on QueuedTask.Run
    
      var elemToGroup = layout.FindElements(elmNameList);
      GroupElement groupWithListOfElementNamesAtRoot =
            ElementFactory.Instance.CreateGroupElement(
                 layout, elemToGroup, "Group with list of element names at root");
    }
    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.0 or higher.
    See Also