ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Desktop.Layouts Namespace / Element Class / GetY Method
Example

In This Topic
    GetY Method (Element)
    In This Topic
    Gets the Y position of the element. This method must be called on the MCT. Use QueuedTask.Run.
    Syntax
    public double GetY()
    Public Function GetY() As Double

    Return Value

    Returns a Double
    Exceptions
    ExceptionDescription
    This method must be called within the lambda passed to QueuedTask.Run.
    Example
    Element_ConvertToGraphics
    //Convert a legend to a graphic and move the Title to the bottom of the legend and also move
    //the label in the contents pane to the bottom of the list.
    
    //Perform on the worker thread
    await QueuedTask.Run(() =>
    {
      Legend leg = layout.FindElement("Legend") as Legend;
      GroupElement result = leg.ConvertToGraphics().First() as GroupElement;
      Element firstElm = result.Elements.First();  //Note: Bottom element is first in drawing order.
      foreach (Element elm in result.Elements)
      {
        if (elm.Name == "Title")
        {
          elm.SetY(firstElm.GetY() - 0.25);  //Move title below other legend elements
          elm.SetTOCPositionAbsolute(result, false);  // Move Title item in TOC to bottom as well
        }
      }
    });
    Element_GetSetY
    //Modify an element's Y position.
    
    //Perform on the worker thread
    await QueuedTask.Run(() =>
    {
      double elmY = element.GetY();
      elmY = 5.5;
    
      element.SetY(elmY); //You don't have to get to set; a shortcut would be: element.SetY(5.5);
    });
    Clone an element
    //Clone a layout graphic element and apply an offset.
    
    //Perform on the worker thread
    QueuedTask.Run(() =>
    {
      // Reference and load the layout associated with the layout item
      Layout layout = layoutItem.GetLayout();
      if (layout != null)
      {
        // Reference a graphic element by name
        GraphicElement graphicElement = 
                            layout.FindElement("MyElement") as GraphicElement;
        if (graphicElement != null)
        {
    
          //Clone and set the new x,y
          GraphicElement cloneElement = graphicElement.Clone("Clone");
          cloneElement.SetX(cloneElement.GetX() + xOffset);
          cloneElement.SetY(cloneElement.GetY() + yOffset);
        }
      }
    });
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also