ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Desktop.Layouts Namespace / Layout Class / CanBringForward Method / CanBringForward(IEnumerable<Element>) Method
The elements to check
Example Version

CanBringForward(IEnumerable<Element>) Method
Checks whether the given elements can be moved forward within their parent's element collection. This method must be called on the MCT. Use QueuedTask.Run.
Syntax
public bool CanBringForward( 
   IEnumerable<Element> elements
)

Parameters

elements
The elements to check

Return Value

True if the elements can be moved forward.
Exceptions
ExceptionDescription
This method or property must be called within the lambda passed to QueuedTask.Run.
elements cannot be null or empty
Remarks
Element z order is relative to the element collection within their parent. The bottom element has a z order of 0. The top element has a z order of N - 1. All elements must have the same parent or false is returned. If any one of the elements is already at the top of their parent's element collection, false is returned. False can also be returned if any of the elements' z order cannot be checked (e.g. an element does not belong to the page layout, etc.).
Example
Ordering: Send backward and Bring forward
//On the QueuedTask
//get the current selection set
var sel_elems = layout.GetSelectedElements();
//can they be brought forward? This will also check that all elements have the same parent
if (layout.CanBringForward(sel_elems))
{
  //bring forward
  layout.BringForward(sel_elems);
  //bring to front (of parent)
  //graphicsLayer.BringToFront(sel_elems);
}
else if (layout.CanSendBackward(sel_elems))
{
  //send back
  layout.SendBackward(sel_elems);
  //send to the back (of parent)
  //graphicsLayer.SendToBack(sel_elems);
}
Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3 or higher.
See Also