Return Value
Returns a Double
Exception | Description |
---|---|
ArcGIS.Core.CalledOnWrongThreadException | This method must be called within the lambda passed to QueuedTask.Run. |
//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 } } });
//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 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); } } });
Target Platforms: Windows 11, Windows 10