public static class PropertySheet
Public MustInherit NotInheritable Class PropertySheet
public static class PropertySheet
Public MustInherit NotInheritable Class PropertySheet
Property sheets hold a collection of individual unrelated property pages. Each page contains controls for setting a group of related properties. A property sheet can be shown modal or modeless.
Property sheets are purely declarative, they are defined only in DAML and have no corresponding managed class. Property pages, like ArcGIS.Desktop.Framework.Contracts.Panes and ArcGIS.Desktop.Framework.Contracts.DockPanes, have both declarative and active components. The active portion of all property pages must derive from this class.
Property pages only load when they become visible. They are not loaded when the sheet loads - the page has to be visited. When a page does load, its ArcGIS.Desktop.Framework.Contracts.Page.IsLoading property is first set to true. Next, its ArcGIS.Desktop.Framework.Contracts.Page.InitializeAsync function is executed. When the returned task completes, its IsLoading is reset to false.
Property pages have the option of being conditional. If a condition has been specified for the page in DAML, the page will not appear with the sheet unless its condition is currently satisfied.
Pages can also be grouped within a sheet by setting the sheet's hasGroups
attribute to true and specifying a group heading by setting the page's group
attribute.
When a property sheet is displayed with either Show or ShowDialog(String,String,Object[]), data can be passed in as one of the arguments and this data can be accessed by all of its pages using the ArcGIS.Desktop.Framework.Contracts.Page.Data property.
The property sheet dialog includes a title bar and several buttons: OK, Cancel, and Apply. The Apply button is only presented when the sheet is modeless. The OK button remains enabled as long as all pages report that they are valid, see ArcGIS.Desktop.Framework.Contracts.Page.IsValid. The Apply button enables once any page in the sheet sets its ArcGIS.Desktop.Framework.Contracts.Page.IsModified property to true and all page are valid. Once Apply or OK are clicked, each page that has set its IsModified flag to true will have its ArcGIS.Desktop.Framework.Contracts.Page.CommitAsync invoked. Similarly, if the Cancel button is clicked, their ArcGIS.Desktop.Framework.Contracts.Page.CancelAsync is invoked.
When a property sheet closes, each loaded page will have its ArcGIS.Desktop.Framework.Contracts.Page.Uninitialize invoked.
Declaring Property Sheets in DAML:
To hide the search textbox, use isSearchEnabled="false".
<insertSheet id="acme_mainSheet" caption="Test sheet">
<page id="acme_testPage"
caption="test page"
className="Pages.TestPage">
<content className="Pages.TestPageView"/>
</page>
</insertSheet>
System.Object
ArcGIS.Desktop.Framework.PropertySheet
Target Platforms: Windows 11, Windows 10