KeyBinding クラス

定義

KeyGestureRoutedCommand (または他の ICommand の実装) にバインドします。Binds a KeyGesture to a RoutedCommand (or another ICommand implementation).

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のに追加する例を次に示します。The following example creates a KeyBinding and adds it to the InputBindingCollection of the root window.

<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)

注釈

は、などKeyGestureのにICommand RoutedCommand関連付けられています。 KeyBindingA KeyBinding associates a KeyGesture with a ICommand, such as a RoutedCommand. RoutedCommandは、 WPFWPFコマンドを使用するICommandシステムのインターフェイスの主要な実装です。RoutedCommand is the primary implementation of the ICommand interface for the WPFWPF commanding system . 一般に、を実行KeyGestureすると、コマンドが呼び出されます。ただし、コマンドの動作は、値などのCanExecuteコマンド固有の要因によってさらに影響を受けます。In general, when the KeyGesture is executed the command is invoked, although the command behavior is further influenced by command-specific factors such as the CanExecute value. コマンドの詳細については、「コマンドの概要」を参照してください。For more information on commanding, see the Commanding Overview.

関数キーとテンキーキーを除き、有効KeyGestureなには1つKey ModifierKeys以上のが含まれている必要があります。With the exception of the function keys and the numeric keypad keys, a valid KeyGesture must contain exactly one Key and one or more ModifierKeys. 関数キーとテンキーキーは、有効KeyGestureなであるために修飾キーを必要としません。Function keys and numeric keypad keys do not require a modifier key in order to be a valid KeyGesture. 無効なKeyGestureとをKeyBinding指定するには、またはコードを使用XAMLXAMLして、無効な関連するジェスチャを使用できます。It is possible to specify an invalid KeyGesture and a KeyBinding with an invalid associated gesture, either through XAMLXAML or code. たとえば、関数以外のキーのみを含むをKeyGesture作成してバインドすることはできません。また、修飾子だけでなく、キーも含まれません。For instance, there is no validation that prevents creating and binding a KeyGesture that contains only a nonfunction key, or only modifiers but no key. このようKeyBindingな a は、関連付けられたコマンドを呼び出そうとしません。Such a KeyBinding will never attempt to invoke its associated command.

KeyGestureKeyBinding を定義するときには、を指定する2つの方法があります。Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML)When defining a KeyBinding in Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML) there are two ways to specify the KeyGesture. KeyBindingGesture KeyBindingを確立する最初の方法は、要素の属性を定義することです。これにより、キーと修飾子を1つの文字列として指定できるようになります。たとえば、"CTRL + P" などです。 XAMLXAMLThe first way to establish a KeyBinding in XAMLXAML is to define the Gesture attribute of the KeyBinding element, which enables a syntax to specify keys and modifiers as a single string, for example "CTRL+P". 2番目の方法は、 Key KeyBinding要素の属性Modifiersと属性を定義することです。The second way is to define the Key attribute and the Modifiers attributes of the KeyBinding element. KeyGesture設定する方法はどちらも同じで、基になる同じオブジェクトを変更しますが、両方が使用されている場合は競合が発生します。Both ways of setting the KeyGesture are equivalent and modify the same underlying object, but there will be a conflict if both are used. 、、およびKeyGesture属性がすべて設定されている場合は、最後に定義された属性がに使用されます。 Gesture Modifiers KeyIn the case when the Key, Modifiers, and the Gesture attributes are all set, the attribute which is defined last will be used for the KeyGesture. たとえば、 Keyセットが last ジェスチャのキーコンポーネントだけを上書きし、ジェスチャの修飾子を同じままにするという状況が生じる可能性があります。You can potentially have situations where for example a Key set last will overwrite just the Key component of a preceding Gesture but leave the Gesture's modifiers the same. 一般に、のGesture XAMLXAML属性のみを使用することをお勧めします。これにより、あいまいさを回避し、最も合理化された構文を提供し、シリアル化の最も簡単な表現を提供します。In general, it is recommended that you use only the Gesture attribute from XAMLXAML; this will avoid ambiguity, provides the most streamlined syntax, and provides the most straightforward representation for serialization.

は、クラスCommandManagerにをRegisterClassInputBinding登録することによって、特定のオブジェクトまたはクラスレベルで定義できます。KeyBindingA KeyBinding can be defined on a specific object or at the class level by registering a RegisterClassInputBinding on the CommandManager class. を定義する最も一般的KeyBindingな方法は、コントロールテンプレート内にあります。1つMouseBinding以上の要素またはKeyBinding要素を宣言して、でInputBindings XAMLXAMLプロパティを設定します。The most typical way to define a KeyBinding is within the control template, setting the InputBindings property in XAMLXAML by declaring one or more MouseBinding or KeyBinding elements.

コンストラクター

KeyBinding()

KeyBinding クラスの新しいインスタンスを初期化します。Initializes a new instance of the KeyBinding class.

KeyBinding(ICommand, Key, ModifierKeys)

指定した KeyBinding と指定した ICommand および Key に変換される ModifierKeys を使用して、KeyGesture クラスの新しいインスタンスを初期化します。Initializes a new instance of the KeyBinding class using the specified ICommand and the specified Key and ModifierKeys which will be converted into a KeyGesture.

KeyBinding(ICommand, KeyGesture)

指定した KeyBindingICommand を使用して、KeyGesture クラスの新しいインスタンスを初期化します。Initializes a new instance of the KeyBinding class using the specified ICommand and KeyGesture.

フィールド

KeyProperty

Key 依存関係プロパティを識別します。Identifies the Key dependency property.

ModifiersProperty

Modifiers 依存関係プロパティを識別します。Identifies the Modifiers dependency property.

プロパティ

Command

この入力バインドに関連付けられる ICommand を取得または設定します。Gets or sets the ICommand associated with this input binding.

(継承元 InputBinding)
CommandParameter

特定のコマンドのコマンド固有のデータを取得または設定します。Gets or sets the command-specific data for a particular command.

(継承元 InputBinding)
CommandTarget

コマンドの対象要素を取得または設定します。Gets or sets the target element of the command.

(継承元 InputBinding)
DependencyObjectType

このインスタンスの CLRCLR 型をラップする DependencyObjectType を取得します。Gets the DependencyObjectType that wraps the CLRCLR type of this instance.

(継承元 DependencyObject)
Dispatcher

この Dispatcher が関連付けられている DispatcherObject を取得します。Gets the Dispatcher this DispatcherObject is associated with.

(継承元 DispatcherObject)
Gesture

この KeyBinding に関連付けられているジェスチャを取得または設定します。Gets or sets the gesture associated with this KeyBinding.

IsSealed

このインスタンスが現在シールされている (読み取り専用である) かどうかを示す値を取得します。Gets a value that indicates whether this instance is currently sealed (read-only).

(継承元 DependencyObject)
Key

この Key に関連付けられている KeyGestureKeyBinding を取得または設定します。Gets or sets the Key of the KeyGesture associated with this KeyBinding.

Modifiers

この ModifierKeys に関連付けられている KeyGestureKeyBinding を取得または設定します。Gets or sets the ModifierKeys of the KeyGesture associated with this KeyBinding.

メソッド

CheckAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるかどうかを確認します。Determines whether the calling thread has access to this DispatcherObject.

(継承元 DispatcherObject)
ClearValue(DependencyProperty)

プロパティのローカル値をクリアします。Clears the local value of a property. クリアするプロパティは DependencyProperty 識別子で指定されます。The property to be cleared is specified by a DependencyProperty identifier.

(継承元 DependencyObject)
ClearValue(DependencyPropertyKey)

読み取り専用プロパティのローカル値を消去します。Clears the local value of a read-only property. 消去するプロパティは、DependencyPropertyKey で指定します。The property to be cleared is specified by a DependencyPropertyKey.

(継承元 DependencyObject)
CloneCore(Freezable)

指定されたオブジェクトのプロパティの基本 (アニメーション化されていない) 値をコピーします。Copies the base (non-animated) values of the properties of the specified object.

(継承元 InputBinding)
CloneCurrentValueCore(Freezable)

指定されたオブジェクトのプロパティの現在の値をコピーします。Copies the current values of the properties of the specified object.

(継承元 InputBinding)
CoerceValue(DependencyProperty)

指定した依存関係プロパティの値を強制します。Coerces the value of the specified dependency property. これは、呼び出し元の DependencyObject の依存関係プロパティのプロパティ メタデータで指定されている CoerceValueCallback 関数を呼び出すことによって実現されます。This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.

(継承元 DependencyObject)
CreateInstanceCore()

KeyBinding のインスタンスを作成します。Creates an instance of a KeyBinding.

Equals(Object)

指定した DependencyObject が現在の DependencyObject と等しいかどうかを判断します。Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

(継承元 DependencyObject)
GetAsFrozenCore(Freezable)

基本プロパティ値 (アニメーション化されていない値) を使用して、このインスタンスを、指定した Freezable の固定された複製にします。Makes the instance a frozen clone of the specified Freezable by using base (non-animated) property values.

(継承元 InputBinding)
GetCurrentValueAsFrozenCore(Freezable)

現在のインスタンスを、指定した Freezable の固定された複製にします。Makes the current instance a frozen clone of the specified Freezable. オブジェクトに、アニメーション化された依存関係プロパティが存在する場合、現在アニメーション化されている値がコピーされます。If the object has animated dependency properties, their current animated values are copied.

(継承元 InputBinding)
GetHashCode()

この DependencyObject のハッシュ コードを取得します。Gets a hash code for this DependencyObject.

(継承元 DependencyObject)
GetLocalValueEnumerator()

どの依存関係プロパティがこの DependencyObject 上にローカルに設定された値を持つかを確認するための、専用の列挙子を作成します。Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

(継承元 DependencyObject)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
GetValue(DependencyProperty)

DependencyObject のこのインスタンスにある依存関係プロパティの現在の有効値を返します。Returns the current effective value of a dependency property on this instance of a DependencyObject.

(継承元 DependencyObject)
InvalidateProperty(DependencyProperty)

指定した依存関係プロパティの有効値を再評価します。Re-evaluates the effective value for the specified dependency property.

(継承元 DependencyObject)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

この DependencyObject の依存関係プロパティの有効値が更新された場合に必ず呼び出されます。Invoked whenever the effective value of any dependency property on this DependencyObject has been updated. 変更された特定の依存関係プロパティは、イベント データで報告されます。The specific dependency property that changed is reported in the event data.

(継承元 DependencyObject)
ReadLocalValue(DependencyProperty)

ローカルの依存関係プロパティの値を返します (存在する場合)。Returns the local value of a dependency property, if it exists.

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

依存関係プロパティ値のソースを変更せずにその値を設定します。Sets the value of a dependency property without changing its value source.

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

依存関係プロパティ識別子を指定して、該当する依存関係プロパティのローカル値を設定します。Sets the local value of a dependency property, specified by its dependency property identifier.

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

依存関係プロパティの DependencyPropertyKey 識別子で指定した読み取り専用の依存関係プロパティのローカル値を設定します。Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

(継承元 DependencyObject)
ShouldSerializeProperty(DependencyProperty)

シリアル化プロセスが、指定された依存関係プロパティの値をシリアル化する必要があるかどうかを示す値を返します。Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

(継承元 DependencyObject)
ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(継承元 Object)
VerifyAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるように強制します。Enforces that the calling thread has access to this DispatcherObject.

(継承元 DispatcherObject)

適用対象

こちらもご覧ください