ArcGIS Pro 3.5 API Reference Guide
ArcGIS.Desktop.Presentations Namespace / PresentationPage Class
Members Example

In This Topic
    PresentationPage Class
    In This Topic
    Represents a presentation page.
    Object Model
    PresentationPage ClassCIMColor ClassElement ClassCIMPresentationPage ClassGroupElement ClassCIMMargin ClassCIMPresentationTransition Class
    Syntax
    Example
    Change map page camera settings
    //Must be on the QueuedTask
    await QueuedTask.Run(() =>
    {
      //Reference a map page
      var mpage = activePresentationView.Presentation.GetPage(4) as MapPresentationPage;
    
      //Set the map frame extent based on the new camera's X,Y, Scale and heading values
      Camera cam = new Camera(329997.6648, 6248553.1457, 2403605.8968, 24);
      mpage.SetCamera(cam);
    });
    Zoom map page to extent of a single layer
    //Must be on the QueuedTask
    await QueuedTask.Run(() =>
    {
      //Reference map page
      var mpage = activePresentationView.Presentation.GetPage(4) as MapPresentationPage;
    
      //Reference map and layer
      MapProjectItem mp = Project.Current.FindItem("Page name") as MapProjectItem;
      Map map = mp.GetMap();
      FeatureLayer lyr = map.FindLayers("GreatLakes").First() as FeatureLayer;
    
      //Set the map frame extent to all features in the layer
      mpage.SetCamera(lyr);
    });
    Element selection and navigation
    //Must be on QueuedTask
    await QueuedTask.Run(() =>
    {
      // Find specific elements by name
      var ge_rect = page.FindElement("Rectangle") as GraphicElement;
      var elements = new List<string>();
      elements.Add("Text");
      elements.Add("Polygon");
      var elems = page.FindElements(elements);
    
      //Get elements retaining hierarchy
      var top_level_elems = page.GetElements();
    
      //Flatten hierarchy
      var all_elems = page.GetFlattenedElements();
    
      //Use LINQ with any of the collections
      //Retrieve just those elements that are Visible
      var some_elems = all_elems.Where(ge => ge.IsVisible).ToList();
    });
    Element selection manipulation
    //Must be on QueuedTask
    await QueuedTask.Run(() =>
    {
      //Select/unselect some elements...
      var elems = activePage.GetFlattenedElements();
      //select any element not a group element
      activePage.SelectElements(elems.Where(e => !e.Name.StartsWith("Group")));
      activePage.UnSelectElements(elems.Where(e => !e.Name.StartsWith("Group")));
    
      //Select/unselect all visible, graphic elements
      var ge_elems = elems.Where(ge => ge.IsVisible).ToList();
      activePage.SelectElements(ge_elems);
      activePage.UnSelectElements(ge_elems);
    
      //Select/unselect a specific element
      var na = activePage.FindElement("My Text Element");
      activePage.SelectElement(na);
      activePage.UnSelectElement(na);
    
      //Select everything
      activePage.SelectElements(elems);
    
      //enumerate the selected elements
      foreach (var sel_elem in activePage.GetSelectedElements())
      {
        //TODO
      }
    });
    Inheritance Hierarchy
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3.5 or higher.
    See Also