次の方法で共有


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

プロパティ値

キーボード アクセラレータのスコープ (またはターゲット)。 既定値は null (グローバル スコープ) です。

この例では、スコープアクセラレータを作成する方法を示します。 Ctrl + Menu + S アクセラレータは、フォーカスが の 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>

注釈

既定では、アクセラレータにはグローバル スコープがあります。 ただし、 を使用して ScopeOwner スコープを制限したり、 IsEnabled を使用してアクセラレータを完全に無効にしたりできます。

適用対象

こちらもご覧ください