
public sealed class PresentationProjectItem : ArcGIS.Desktop.Internal.Core.ProjectItem, ArcGIS.Desktop.Core.IMetadata, ArcGIS.Desktop.Core.IProjectItem, System.ComponentModel.INotifyPropertyChanged
Public NotInheritable Class PresentationProjectItem Inherits ArcGIS.Desktop.Internal.Core.ProjectItem Implements ArcGIS.Desktop.Core.IMetadata, ArcGIS.Desktop.Core.IProjectItem, System.ComponentModel.INotifyPropertyChanged
var projectPresentations = Project.Current.GetItems<PresentationProjectItem>(); foreach (var projectItem in projectPresentations) { //Do Something with the presentation }
//Reference a presentation associated with an active presentation view PresentationView activePresentationView = PresentationView.Active; if (activePresentationView != null) { Presentation presentation = activePresentationView.Presentation; }
PresentationProjectItem presentationProjItem = Project.Current.GetItems<PresentationProjectItem>().FirstOrDefault(item => item.Name.Equals(presentationName)); Presentation presentationFromItem = presentationProjItem?.GetPresentation();
//Open a presentation project item in a new view. //A presentation project item may exist but it may not be open in a view. //Reference a presentation project item by name PresentationProjectItem presentationPrjItem = Project.Current.GetItems<PresentationProjectItem>().FirstOrDefault(item => item.Name.Equals(presentationName)); //Get the presentation associated with the presentation project item Presentation presentationToOpen = await QueuedTask.Run(() => presentationPrjItem.GetPresentation()); //Create the new pane IPresentationPane iNewPresentationPane = await ProApp.Panes.CreatePresentationPaneAsync(presentationToOpen); //GUI thread
//Assume we want to open a view for a particular presentation or activate a view if one is already open //A presentation project item is an item that appears in the Presentation folder in the Catalog pane. PresentationProjectItem presentationItem = Project.Current.GetItems<PresentationProjectItem>() .FirstOrDefault(item => item.Name.Equals(presentationName)); //Reference a presentation associated with a presentation project item if (presentationItem != null) { //Get the presentation associated with the presentationItem Presentation presentationToOpen = await QueuedTask.Run(() => presentationItem.GetPresentation()); //Next check to see if a presentation view is already open that references the presentation foreach (var pane in ProApp.Panes) { var prePane = pane as IPresentationPane; if (prePane == null) // Not a presentation view, continue to the next pane continue; //if there is a match, activate the view if (prePane.PresentationView.Presentation == presentationToOpen) { (prePane as Pane).Activate(); return; } } //No pane found, activate a new one - must be called on UI IPresentationPane iNewPresentationPane = await ProApp.Panes.CreatePresentationPaneAsync(presentationToOpen); //GUI thread }
System.Object
ArcGIS.Desktop.Framework.Contracts.PropertyChangedBase
ArcGIS.Desktop.Core.Item
ArcGIS.Desktop.Presentations.PresentationProjectItem
Target Platforms: Windows 11, Windows 10