KeyboardAccelerator.ScopeOwner Property
Definition
Gets or sets the scope (or target) of the keyboard accelerator.
Equivalent WinUI property: Microsoft.UI.Xaml.Input.KeyboardAccelerator.ScopeOwner.
public:
property DependencyObject ^ ScopeOwner { DependencyObject ^ get(); void set(DependencyObject ^ value); };
DependencyObject ScopeOwner();
void ScopeOwner(DependencyObject value);
public DependencyObject ScopeOwner { get; set; }
var dependencyObject = keyboardAccelerator.scopeOwner;
keyboardAccelerator.scopeOwner = dependencyObject;
Public Property ScopeOwner As DependencyObject
Property Value
The default is null (global scope).
Examples
This example demonstrates how to create a scoped accelerator. The Ctrl+Menu+S accelerator is invoked only if the focus is on a child of MainGrid
.
<Grid x:Name="MainGrid">
…
<Button Content="Save" Click="OnSave">
<Button.KeyboardAccelerators>
<KeyboardAccelerator
Key="S"
Modifiers="Control, Menu"
ScopeOwner="{x:Bind MainGrid}" />
</Button.KeyboardAccelerators>
</Button>
…
</Grid>
<Grid x:Name="SecondaryGrid"> >
…
<Button Content="Edit" Click Click="OnEdit"/>
…
</Grid>
Remarks
By default, an accelerator has global scope. However, you can constrain scope using ScopeOwner or disable an accelerator completely using IsEnabled.