ArcGIS Pro 3.3 API Reference Guide
ArcGIS.Desktop.Framework Namespace / PropertySheet Class
Members

In This Topic
    PropertySheet Class
    In This Topic
    A window that allows the user to view and edit the properties of an item.
    Object Model
    PropertySheet ClassPage Class
    Syntax
    public static class PropertySheet 
    Public MustInherit NotInheritable Class PropertySheet 
    Remarks

    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:

                <insertSheet id="acme_mainSheet" caption="Test sheet">
                  <page id="acme_testPage" 
                        caption="test page" 
                        className="Pages.TestPage">
                    <content className="Pages.TestPageView"/>
                  </page>
                </insertSheet>
                

    Inheritance Hierarchy

    System.Object
       ArcGIS.Desktop.Framework.PropertySheet

    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also