public abstract class BackstageTab : PropertyChangedBase, System.ComponentModel.INotifyPropertyChanged
Public MustInherit Class BackstageTab Inherits PropertyChangedBase Implements System.ComponentModel.INotifyPropertyChanged
public abstract class BackstageTab : PropertyChangedBase, System.ComponentModel.INotifyPropertyChanged
Public MustInherit Class BackstageTab Inherits PropertyChangedBase Implements System.ComponentModel.INotifyPropertyChanged
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. |
<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!"; } }
System.Object
ArcGIS.Desktop.Framework.Contracts.PropertyChangedBase
ArcGIS.Desktop.Framework.Contracts.BackstageTab
Target Platforms: Windows 11, Windows 10