public static PaneCollection Panes {get;}
Public Shared ReadOnly Property Panes As PaneCollection
public static PaneCollection Panes {get;}
Public Shared ReadOnly Property Panes As PaneCollection
string _viewPaneID = "my pane"; //DAML ID of your pane //You could have multiple instances (InstanceIDs) of your pane. //So you can iterate through the Panes to get "your" panes only IList<uint> myPaneInstanceIDs = new List<uint>(); foreach (Pane pane in FrameworkApplication.Panes) { if (pane.ContentID == _viewPaneID) { myPaneInstanceIDs.Add(pane.InstanceID); //InstanceID of your pane, could be multiple, so build the collection } } foreach (var instanceID in myPaneInstanceIDs) //close each of "your" panes. { FrameworkApplication.Panes.ClosePane(instanceID); }
var mapPanes = ProApp.Panes.OfType<IMapPane>(); foreach (Pane pane in mapPanes) { if (pane.Caption == "MyMap") { pane.Activate(); break; } }
//Activate an already open layout view. //A layout view may be open but it may not be active. //Find the pane that references the layout and activate it. //Note - there can be multiple panes referencing the same layout. foreach (var pane in ProApp.Panes) { var layoutPane = pane as ILayoutPane; if (layoutPane == null) //if not a layout view, continue to the next pane continue; if (layoutPane.LayoutView.Layout == layout) //activate the view { (layoutPane as Pane).Activate(); return; } }
Target Platforms: Windows 11, Windows 10, Windows 8.1