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)

注釈

KeyBinding は、RoutedCommandなどの ICommandKeyGesture を関連付けます。A KeyBinding associates a KeyGesture with a ICommand, such as a RoutedCommand. RoutedCommand は、コマンドの WPFWPFICommand インターフェイスの主要な実装です。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 と1つ以上の 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. XAMLXAML またはコードを使用して、無効な KeyGesture と、無効な関連するジェスチャを持つ KeyBinding を指定することができます。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 は、関連付けられたコマンドを呼び出そうとしません。Such a KeyBinding will never attempt to invoke its associated command.

Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML)KeyBinding を定義する場合は、KeyGestureを指定する方法が2つあります。When defining a KeyBinding in Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML) there are two ways to specify the KeyGesture. XAMLXAMLKeyBinding を確立するには、まず、KeyBinding 要素の Gesture 属性を定義します。これにより、キーと修飾子を1つの文字列として指定できるようになります。たとえば、"CTRL + P" のようになります。The 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番目の方法は、KeyBinding 要素の Key 属性と 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. KeyModifiers、および Gesture 属性がすべて設定されている場合は、最後に定義された属性が KeyGestureに使用されます。In 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 set が 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. 一般に、XAMLXAMLGesture 属性のみを使用することをお勧めします。これにより、あいまいさが解消され、最も効率的な構文が提供され、シリアル化の最も簡単な表現が提供されます。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.

KeyBinding は、CommandManager クラスに RegisterClassInputBinding を登録することによって、特定のオブジェクトまたはクラスレベルで定義できます。A 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 要素を宣言することによって XAMLXAMLInputBindings プロパティを設定することです。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.

プロパティ

CanFreeze

オブジェクトを変更不可能にできるかどうかを示す値を取得します。Gets a value that indicates whether the object can be made unmodifiable.

(継承元 Freezable)
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.

IsFrozen

オブジェクトが変更可能かどうかを示す値を取得します。Gets a value that indicates whether the object is currently modifiable.

(継承元 Freezable)
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)
Clone()

Freezable の変更可能な複製を作成し、オブジェクトの値の詳細コピーを作成します。Creates a modifiable clone of the Freezable, making deep copies of the object's values. このメソッドは、オブジェクトの依存関係プロパティをコピーするときに式をコピーしますが (コピーされた式は解決されなくなる場合があります)、アニメーションやその現在の値はコピーしません。When copying the object's dependency properties, this method copies expressions (which might no longer resolve) but not animations or their current values.

(継承元 Freezable)
CloneCore(Freezable)

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

(継承元 InputBinding)
CloneCurrentValue()

Freezable の現在の値を使用して、変更可能な複製 (詳細コピー) を作成します。Creates a modifiable clone (deep copy) of the Freezable using its current values.

(継承元 Freezable)
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)
CreateInstance()

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

(継承元 Freezable)
CreateInstanceCore()

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

CreateInstanceCore()

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

(継承元 InputBinding)
Equals(Object)

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

(継承元 DependencyObject)
Freeze()

現在のオブジェクトを変更不可能にし、その IsFrozen プロパティを true に設定します。Makes the current object unmodifiable and sets its IsFrozen property to true.

(継承元 Freezable)
FreezeCore(Boolean)

Freezable オブジェクトを変更不可能な状態にするか、変更不可能な状態にできるかどうかをテストします。Makes the Freezable object unmodifiable or tests whether it can be made unmodifiable.

(継承元 Freezable)
GetAsFrozen()

基本プロパティ値 (アニメーション化されていない値) を使用して、Freezable の 固定されたコピーを作成します。Creates a frozen copy of the Freezable, using base (non-animated) property values. コピーが固定されているため、参照によって任意の固定されたサブオブジェクトがコピーされます。Because the copy is frozen, any frozen sub-objects are copied by reference.

(継承元 Freezable)
GetAsFrozenCore(Freezable)

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

(継承元 InputBinding)
GetCurrentValueAsFrozen()

現在のプロパティ値を使用して、Freezable の固定されたコピーを作成します。Creates a frozen copy of the Freezable using current property values. コピーが固定されているため、参照によって任意の固定されたサブオブジェクトがコピーされます。Because the copy is frozen, any frozen sub-objects are copied by reference.

(継承元 Freezable)
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)
OnChanged()

現在の Freezable オブジェクトの変更時に呼び出されます。Called when the current Freezable object is modified.

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

設定されたばかりの DependencyObjectType データ メンバーに対して、適切なコンテキスト ポインターが確立されていることを確認します。Ensures that appropriate context pointers are established for a DependencyObjectType data member that has just been set.

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

このメンバーは、Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) インフラストラクチャをサポートしますが、独自に作成したコードから直接使用するためのものではありません。This member supports the Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) infrastructure and is not intended to be used directly from your code.

(継承元 Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

OnPropertyChanged(DependencyPropertyChangedEventArgs)DependencyObject 実装をオーバーライドして、さらに型 Freezable の変化する依存関係プロパティへの応答として任意の Changed ハンドラーも呼び出します。Overrides the DependencyObject implementation of OnPropertyChanged(DependencyPropertyChangedEventArgs) to also invoke any Changed handlers in response to a changing dependency property of type Freezable.

(継承元 Freezable)
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)
ReadPreamble()

Freezable が有効なスレッドからアクセスされていることを確認します。Ensures that the Freezable is being accessed from a valid thread. Freezable の継承側は、依存関係プロパティでないデータ メンバーを読み取る任意の API の開始時に、このメソッドを呼び出す必要があります。Inheritors of Freezable must call this method at the beginning of any API that reads data members that are not dependency properties.

(継承元 Freezable)
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)
WritePostscript()

FreezableChanged イベントを発生させ、その OnChanged() メソッドを呼び出します。Raises the Changed event for the Freezable and invokes its OnChanged() method. Freezable から派生するクラスは、依存関係プロパティとして格納されていないクラス メンバーを変更するすべての API の終了時に、このメソッドを呼び出す必要があります。Classes that derive from Freezable should call this method at the end of any API that modifies class members that are not stored as dependency properties.

(継承元 Freezable)
WritePreamble()

Freezable が固定されておらず、有効なスレッド コンテキストからアクセスされていることを確認します。Verifies that the Freezable is not frozen and that it is being accessed from a valid threading context. Freezable の継承側は、依存関係プロパティでないデータ メンバーに書き込む任意の API の開始時に、このメソッドを呼び出す必要があります。Freezable inheritors should call this method at the beginning of any API that writes to data members that are not dependency properties.

(継承元 Freezable)

イベント

Changed

Freezable、またはこれに含まれているオブジェクトが変更されると発生します。Occurs when the Freezable or an object it contains is modified.

(継承元 Freezable)

適用対象

こちらもご覧ください