ArcGIS Pro 2.7 API Reference Guide
Page Class
Members 

ArcGIS.Desktop.Framework.Contracts Namespace : Page Class
Represents a page inside a property sheet. This is an abstract class.
Object Model
Page ClassPage Class
Syntax
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 Panes and 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 IsLoading property is first set to true. Next, its 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 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 IsValid. The Apply button enables once any page in the sheet sets its 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 CommitAsync invoked. Similarly, if the Cancel button is clicked, their CancelAsync is invoked.

When a property sheet closes, each loaded page will have its Uninitialize invoked.

Declaring Pages 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>
            

DAML attributes
assembly Assembly name if not in the default assembly.
caption The default page heading.
className Required class identifier. Optionally include namespace if not in default namespace.
condition Only show the page in the sheet if the condition is valid.
extendedCaption A more descriptive title.
group Optional group heading.
id Required identifier.
publicKeyToken The necessary public key token if the assembly is strongly named.
version The version of the dll if the assembly is strongly named.

Inheritance Hierarchy

System.Object
   ArcGIS.Desktop.Framework.Contracts.PropertyChangedBase
      ArcGIS.Desktop.Framework.Contracts.ViewModelBase
         ArcGIS.Desktop.Framework.Contracts.Page

Requirements

Target Platforms: Windows 10, Windows 8.1

See Also

Reference

Page Members
ArcGIS.Desktop.Framework.Contracts Namespace
PropertySheet Class