ArcGIS Pro 3.1 API Reference Guide
ArcGIS.Desktop.Framework.Contracts Namespace / BackstageTab Class
Members Example

In This Topic
    BackstageTab Class
    In This Topic
    Represents a tab in the application backstage. This is an abstract class.
    Syntax
    Public MustInherit Class BackstageTab 
       Inherits PropertyChangedBase
       Implements System.ComponentModel.INotifyPropertyChanged 
    Remarks

    The Backstage is a full-screen user interface view that exposes additional functionality for the application and current project. The backstage consists of tabs and buttons. Each tab is scoped to a particular task and presents its own user interface. Buttons are simply commands that perform an operation and have no additional user interface in the backstage.

    Backstage tabs are also contextual and will appear disabled in they specify a condition that has not been satisfied.

    A custom BackstageTab has two components: a component class that derives from BackstageTab and a view class that derives from FrameworkElement, typically a UserControl. Backstage tabs must be defined in DAML.

    DAML attributes
    id Required identifier.
    caption The tab label.
    keytip The access key for the tab in keytip mode.
    condition The DAML condition ID if the tab is contextual.
    separator Show a separator before the item.
    className Required class identifier. Optionally include namespace if not in default namespace.
    assembly Assembly name if not in the default assembly.
    publicKeyToken The necessary public key token if the assembly is strongly named.
    version The version of the dll if the assembly is strongly named.

    Example
    <backstage>
       <insertTab id=acme_backstage_Options keytip="D" className="AcmeBackstageVM" caption="Options>
        <content className="AcmeBackstageTabOptionsView"/>
      </insertTab>
    </backstage>
    /*
    
       Copyright 2018 Esri
    
       Licensed under the Apache License, Version 2.0 (the "License");
       you may not use this file except in compliance with the License.
       You may obtain a copy of the License at
    
           http://www.apache.org/licenses/LICENSE-2.0
    
       Unless required by applicable law or agreed to in writing, software
       distributed under the License is distributed on an "AS IS" BASIS,
       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    
       See the License for the specific language governing permissions and
       limitations under the License.
    
    */
    using ArcGIS.Desktop.Framework;
    using System.Windows.Input;
    
    internal class AcmeBackstageVM : ArcGIS.Desktop.Framework.Contracts.BackstageTab
    {
      private string _message;
      private RelayCommand _testCommand;
    
      public AcmeBackstageVM()
      {
        _testCommand = new RelayCommand(() => DoSomething(), false);
      }
    
      public ICommand TestCommand { get { return _testCommand; } }
    
      public string Message
      {
        get { return _message; }
        set
        {
          SetProperty(ref _message, value, () => Message);
        }
      }
    
      private void DoSomething()
      {
        Message = "Hello World!";
      }
    }
    
    Inheritance Hierarchy

    System.Object
       ArcGIS.Desktop.Framework.Contracts.PropertyChangedBase
          ArcGIS.Desktop.Framework.Contracts.BackstageTab

    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3.0 or higher.
    See Also