KeyBinding クラス

定義

KeyGestureRoutedCommand (または他の ICommand の実装) にバインドします。

public ref class KeyBinding : System::Windows::Input::InputBinding
public class KeyBinding : System.Windows.Input.InputBinding
type KeyBinding = class
    inherit InputBinding
Public Class KeyBinding
Inherits InputBinding
継承
継承

次の例では、 を KeyBinding 作成し、ルート ウィンドウの に追加 InputBindingCollection します。

<Window.InputBindings>
  <KeyBinding Command="ApplicationCommands.Open"
              Gesture="CTRL+R" />
</Window.InputBindings>
// Creating a KeyBinding between the Open command and Ctrl-R
KeyBinding OpenCmdKeyBinding = new KeyBinding(
    ApplicationCommands.Open, 
    Key.R, 
    ModifierKeys.Control);

this.InputBindings.Add(OpenCmdKeyBinding);
' Creating a KeyBinding between the Open command and Ctrl-R
Dim OpenCmdKeyBinding As New KeyBinding(ApplicationCommands.Open, Key.R, ModifierKeys.Control)

Me.InputBindings.Add(OpenCmdKeyBinding)

注釈

KeyBindingKeyGesture を などの にICommandRoutedCommand関連付けます。 RoutedCommand は、WPF コマンド システムのインターフェイスの主な実装 ICommand です。 一般に、 が実行されると KeyGesture 、コマンドが呼び出されますが、コマンドの動作は値などのコマンド固有の要因によってさらに影響されます CanExecute 。 コマンド実行の詳細については、「コマンド実行の概要」を参照してください。

ファンクション キーとテンキー キーを除き、有効な KeyGesture には、1 つ Key 以上 ModifierKeysの が含まれている必要があります。 ファンクション キーとテンキー キーを有効 KeyGestureにするために修飾子キーは必要ありません。 XAML またはコードを使用して、無効 KeyGesture な と KeyBinding に関連付けられた無効なジェスチャを指定できます。 たとえば、非関数キーのみを含む を作成してバインド KeyGesture したり、修飾子のみを含むがキーを含まない検証はありません。 このような は KeyBinding 、関連付けられているコマンドの呼び出しを試みることはありません。

拡張アプリケーション マークアップ言語 (XAML) で を KeyBinding 定義する場合、 を指定 KeyGestureする方法は 2 つあります。 XAML で をKeyBinding確立する最初の方法は、 要素のKeyBinding属性を定義Gestureすることです。これにより、構文でキーと修飾子を 1 つの文字列として指定できます (例: "Ctrl + P")。 2 つ目の方法は、 要素の Key 属性と Modifiers 属性を KeyBinding 定義することです。 を KeyGesture 設定する方法はどちらも同等であり、同じ基になるオブジェクトを変更しますが、両方を使用すると競合が発生します。 、、および Gesture の各属性がすべて設定されている場合KeyModifiersは、最後に定義された属性が にKeyGesture使用されます。 たとえば Key 、前のジェスチャの Key コンポーネントだけを最後に設定すると上書きされるが、ジェスチャの修飾子は同じままになる場合があります。 一般に、XAML の 属性のみを Gesture 使用することをお勧めします。これにより、あいまいさが回避され、最も合理化された構文が提供され、シリアル化に最も簡単な表現が提供されます。

KeyBinding 、クラスに を登録 RegisterClassInputBinding することで、特定のオブジェクトまたはクラス レベルで CommandManager 定義できます。 を定義KeyBindingする最も一般的な方法は、コントロール テンプレート内で、1 つ以上MouseBindingKeyBindingの要素をInputBindings宣言して XAML で プロパティを設定することです。

コンストラクター

KeyBinding()

KeyBinding クラスの新しいインスタンスを初期化します。

KeyBinding(ICommand, Key, ModifierKeys)

指定した KeyBinding と指定した ICommand および Key に変換される ModifierKeys を使用して、KeyGesture クラスの新しいインスタンスを初期化します。

KeyBinding(ICommand, KeyGesture)

指定した KeyBindingICommand を使用して、KeyGesture クラスの新しいインスタンスを初期化します。

フィールド

KeyProperty

Key 依存関係プロパティを識別します。

ModifiersProperty

Modifiers 依存関係プロパティを識別します。

プロパティ

CanFreeze

オブジェクトを変更不可能にできるかどうかを示す値を取得します。

(継承元 Freezable)
Command

この入力バインドに関連付けられる ICommand を取得または設定します。

(継承元 InputBinding)
CommandParameter

特定のコマンドのコマンド固有のデータを取得または設定します。

(継承元 InputBinding)
CommandTarget

コマンドの対象要素を取得または設定します。

(継承元 InputBinding)
DependencyObjectType

このインスタンスの DependencyObjectType CLR 型をラップする を取得します。

(継承元 DependencyObject)
Dispatcher

この Dispatcher が関連付けられている DispatcherObject を取得します。

(継承元 DispatcherObject)
Gesture

この KeyBinding に関連付けられているジェスチャを取得または設定します。

IsFrozen

オブジェクトが変更可能かどうかを示す値を取得します。

(継承元 Freezable)
IsSealed

このインスタンスが現在シールされている (読み取り専用である) かどうかを示す値を取得します。

(継承元 DependencyObject)
Key

この Key に関連付けられている KeyGestureKeyBinding を取得または設定します。

Modifiers

この ModifierKeys に関連付けられている KeyGestureKeyBinding を取得または設定します。

メソッド

CheckAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるかどうかを確認します。

(継承元 DispatcherObject)
ClearValue(DependencyProperty)

プロパティのローカル値をクリアします。 クリアするプロパティは DependencyProperty 識別子で指定されます。

(継承元 DependencyObject)
ClearValue(DependencyPropertyKey)

読み取り専用プロパティのローカル値を消去します。 消去するプロパティは、DependencyPropertyKey で指定します。

(継承元 DependencyObject)
Clone()

Freezable の変更可能な複製を作成し、オブジェクトの値の詳細コピーを作成します。 このメソッドは、オブジェクトの依存関係プロパティをコピーするときに式をコピーしますが (コピーされた式は解決されなくなる場合があります)、アニメーションやその現在の値はコピーしません。

(継承元 Freezable)
CloneCore(Freezable)

指定されたオブジェクトのプロパティの基本 (アニメーション化されていない) 値をコピーします。

(継承元 InputBinding)
CloneCurrentValue()

Freezable の現在の値を使用して、変更可能な複製 (詳細コピー) を作成します。

(継承元 Freezable)
CloneCurrentValueCore(Freezable)

指定されたオブジェクトのプロパティの現在の値をコピーします。

(継承元 InputBinding)
CoerceValue(DependencyProperty)

指定した依存関係プロパティの値を強制します。 これは、呼び出し元の DependencyObject の依存関係プロパティのプロパティ メタデータで指定されている CoerceValueCallback 関数を呼び出すことによって実現されます。

(継承元 DependencyObject)
CreateInstance()

Freezable クラスの新しいインスタンスを初期化します。

(継承元 Freezable)
CreateInstanceCore()

KeyBinding のインスタンスを作成します。

CreateInstanceCore()

InputBinding のインスタンスを作成します。

(継承元 InputBinding)
Equals(Object)

指定した DependencyObject が現在の DependencyObject と等しいかどうかを判断します。

(継承元 DependencyObject)
Freeze()

現在のオブジェクトを変更不可能にし、その IsFrozen プロパティを true に設定します。

(継承元 Freezable)
FreezeCore(Boolean)

Freezable オブジェクトを変更不可能な状態にするか、変更不可能な状態にできるかどうかをテストします。

(継承元 Freezable)
GetAsFrozen()

基本プロパティ値 (アニメーション化されていない値) を使用して、Freezable の 固定されたコピーを作成します。 コピーが固定されているため、参照によって任意の固定されたサブオブジェクトがコピーされます。

(継承元 Freezable)
GetAsFrozenCore(Freezable)

基本プロパティ値 (アニメーション化されていない値) を使用して、このインスタンスを、指定した Freezable の固定された複製にします。

(継承元 InputBinding)
GetCurrentValueAsFrozen()

現在のプロパティ値を使用して、Freezable の固定されたコピーを作成します。 コピーが固定されているため、参照によって任意の固定されたサブオブジェクトがコピーされます。

(継承元 Freezable)
GetCurrentValueAsFrozenCore(Freezable)

現在のインスタンスを、指定した Freezable の固定された複製にします。 オブジェクトに、アニメーション化された依存関係プロパティが存在する場合、現在アニメーション化されている値がコピーされます。

(継承元 InputBinding)
GetHashCode()

この DependencyObject のハッシュ コードを取得します。

(継承元 DependencyObject)
GetLocalValueEnumerator()

どの依存関係プロパティがこの DependencyObject 上にローカルに設定された値を持つかを確認するための、専用の列挙子を作成します。

(継承元 DependencyObject)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
GetValue(DependencyProperty)

DependencyObject のこのインスタンスにある依存関係プロパティの現在の有効値を返します。

(継承元 DependencyObject)
InvalidateProperty(DependencyProperty)

指定した依存関係プロパティの有効値を再評価します。

(継承元 DependencyObject)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
OnChanged()

現在の Freezable オブジェクトの変更時に呼び出されます。

(継承元 Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

設定されたばかりの DependencyObjectType データ メンバーに対して、適切なコンテキスト ポインターが確立されていることを確認します。

(継承元 Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

このメンバーは、Windows Presentation Foundation (WPF) インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

(継承元 Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

この DependencyObject の依存関係プロパティの有効値が更新された場合に必ず呼び出されます。 変更された特定の依存関係プロパティは、イベント データで報告されます。

(継承元 DependencyObject)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

OnPropertyChanged(DependencyPropertyChangedEventArgs)DependencyObject 実装をオーバーライドして、さらに型 Freezable の変化する依存関係プロパティへの応答として任意の Changed ハンドラーも呼び出します。

(継承元 Freezable)
ReadLocalValue(DependencyProperty)

ローカルの依存関係プロパティの値を返します (存在する場合)。

(継承元 DependencyObject)
ReadPreamble()

Freezable が有効なスレッドからアクセスされていることを確認します。 Freezable の継承側は、依存関係プロパティでないデータ メンバーを読み取る任意の API の開始時に、このメソッドを呼び出す必要があります。

(継承元 Freezable)
SetCurrentValue(DependencyProperty, Object)

依存関係プロパティ値のソースを変更せずにその値を設定します。

(継承元 DependencyObject)
SetValue(DependencyProperty, Object)

依存関係プロパティ識別子を指定して、該当する依存関係プロパティのローカル値を設定します。

(継承元 DependencyObject)
SetValue(DependencyPropertyKey, Object)

依存関係プロパティの DependencyPropertyKey 識別子で指定した読み取り専用の依存関係プロパティのローカル値を設定します。

(継承元 DependencyObject)
ShouldSerializeProperty(DependencyProperty)

シリアル化プロセスが、指定された依存関係プロパティの値をシリアル化する必要があるかどうかを示す値を返します。

(継承元 DependencyObject)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
VerifyAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるように強制します。

(継承元 DispatcherObject)
WritePostscript()

FreezableChanged イベントを発生させ、その OnChanged() メソッドを呼び出します。 Freezable から派生するクラスは、依存関係プロパティとして格納されていないクラス メンバーを変更するすべての API の終了時に、このメソッドを呼び出す必要があります。

(継承元 Freezable)
WritePreamble()

Freezable が固定されておらず、有効なスレッド コンテキストからアクセスされていることを確認します。 Freezable の継承側は、依存関係プロパティでないデータ メンバーに書き込む任意の API の開始時に、このメソッドを呼び出す必要があります。

(継承元 Freezable)

イベント

Changed

Freezable、またはこれに含まれているオブジェクトが変更されると発生します。

(継承元 Freezable)

適用対象

こちらもご覧ください