Freigeben über


KeyBinding Klasse

Definition

Bindet eine KeyGesture an einen RoutedCommand (oder eine andere ICommand-Implementierung).

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

Beispiele

Im folgenden Beispiel wird ein KeyBinding erstellt und dem InputBindingCollection des Stammfensters hinzugefügt.

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

Hinweise

Ein KeyBinding ordnet ein KeyGesture einem ICommandzu, z. B. .RoutedCommand RoutedCommand ist die primäre Implementierung der ICommand -Schnittstelle für das WPF-Befehlssystem . Im Allgemeinen wird der Befehl aufgerufen, wenn der KeyGesture ausgeführt wird, obwohl das Befehlsverhalten weiter von befehlsspezifischen Faktoren wie dem CanExecute -Wert beeinflusst wird. Weitere Informationen über Befehle finden Sie unter Befehlsübersicht.

Mit Ausnahme der Funktionstasten und der Zehnertastaturtasten muss eine gültige KeyGesture genau ein Key und mindestens eine ModifierKeysenthalten. Funktionstasten und Zehnertastaturtasten erfordern keine Modifizierertaste, um eine gültige KeyGesturezu sein. Es ist möglich, eine ungültige KeyGesture und eine KeyBinding mit einer ungültigen zugeordneten Geste anzugeben, entweder über XAML oder Code. Für instance gibt es keine Überprüfung, die das Erstellen und Binden eines KeyGesture verhindert, das nur einen nicht funktionsfähigen Schlüssel oder nur Modifizierer, aber keinen Schlüssel enthält. KeyBinding Ein solcher wird niemals versuchen, den zugeordneten Befehl aufzurufen.

Beim Definieren von KeyBinding in XAML (Extensible Application Markup Language) gibt es zwei Möglichkeiten, die KeyGestureanzugeben. Die erste Möglichkeit, eine KeyBinding in XAML einzurichten, besteht darin, das Gesture Attribut des KeyBinding Elements zu definieren, wodurch eine Syntax Schlüssel und Modifizierer als einzelne Zeichenfolge angeben kann, z. B. "STRG+P". Die zweite Möglichkeit besteht darin, das Key Attribut und die Modifiers Attribute des KeyBinding Elements zu definieren. Beide Methoden zum Festlegen KeyGesture von sind äquivalent und ändern dasselbe zugrunde liegende Objekt, aber es kommt zu einem Konflikt, wenn beide verwendet werden. Wenn alle KeyAttribute , Modifiersund Gesture festgelegt sind, wird das zuletzt definierte Attribut für den KeyGestureverwendet. Sie können möglicherweise Situationen haben, in denen beispielsweise ein Key letzter Satz nur die Key-Komponente einer vorangehenden Geste überschreibt, aber die Modifizierer der Geste unverändert lassen. Im Allgemeinen wird empfohlen, nur das Gesture Attribut aus XAML zu verwenden. Dadurch werden Mehrdeutigkeiten vermieden, die optimiertste Syntax bereitgestellt und die einfachste Darstellung für die Serialisierung bereitgestellt.

Ein KeyBinding kann für ein bestimmtes Objekt oder auf Klassenebene definiert werden, indem ein in RegisterClassInputBinding der CommandManager Klasse registriert wird. Die gängigste Methode zum Definieren von ist KeyBinding innerhalb der Steuerelementvorlage, indem sie die InputBindings Eigenschaft in XAML durch Deklarieren eines oder KeyBindingMouseBinding mehrerer Elemente festlegen.

Konstruktoren

KeyBinding()

Initialisiert eine neue Instanz der KeyBinding-Klasse.

KeyBinding(ICommand, Key, ModifierKeys)

Initialisiert eine neue Instanz der KeyBinding-Klasse mit dem angegebenen ICommand und der angegebenen Key sowie ModifierKeys, die in eine KeyGesture konvertiert werden.

KeyBinding(ICommand, KeyGesture)

Initialisiert eine neue Instanz der KeyBinding-Klasse unter Verwendung der angegebenen ICommand und des angegebenen KeyGesture.

Felder

KeyProperty

Bezeichnet die Key-Abhängigkeitseigenschaft.

ModifiersProperty

Bezeichnet die Modifiers-Abhängigkeitseigenschaft.

Eigenschaften

CanFreeze

Ruft einen Wert ab, der anzeigt, ob das Objekt als nicht änderbar festgelegt werden kann.

(Geerbt von Freezable)
Command

Ruft die dieser Eingabebindung zugeordnete ICommand-Klasse ab oder legt diese fest.

(Geerbt von InputBinding)
CommandParameter

Ruft die befehlsspezifischen Daten für einen bestimmten Befehl ab oder legt diese fest.

(Geerbt von InputBinding)
CommandTarget

Ruft das Zielelement des Befehls ab oder legt dieses fest.

(Geerbt von InputBinding)
DependencyObjectType

Ruft den ab, der DependencyObjectType den CLR-Typ dieses instance umschließt.

(Geerbt von DependencyObject)
Dispatcher

Ruft den Dispatcher ab, der diesem DispatcherObject zugeordnet ist.

(Geerbt von DispatcherObject)
Gesture

Ruft die dieser Eingabeaktion zugeordnete KeyBinding ab oder legt diese fest.

IsFrozen

Ruft einen Wert ab, der angibt, ob das Objekt derzeit geändert werden kann.

(Geerbt von Freezable)
IsSealed

Ruft einen Wert ab, der angibt, ob diese Instanz derzeit versiegelt (schreibgeschützt) ist.

(Geerbt von DependencyObject)
Key

Ruft die Key der KeyGesture ab, die mit dieser KeyBinding verknüpft ist oder legt diese fest.

Modifiers

Ruft die ModifierKeys der KeyGesture ab, die mit dieser KeyBinding verknüpft ist oder legt diese fest.

Methoden

CheckAccess()

Bestimmt, ob der aufrufende Thread auf dieses DispatcherObject zugreifen kann.

(Geerbt von DispatcherObject)
ClearValue(DependencyProperty)

Löscht den lokalen Wert einer Eigenschaft. Die Eigenschaft, deren Wert gelöscht werden soll, wird durch einen DependencyProperty-Bezeichner angegeben.

(Geerbt von DependencyObject)
ClearValue(DependencyPropertyKey)

Löscht den lokalen Wert einer schreibgeschützten Eigenschaft. Die Eigenschaft, deren Wert gelöscht werden soll, wird durch einen DependencyPropertyKey angegeben.

(Geerbt von DependencyObject)
Clone()

Erstellt einen änderbaren Klon des Freezable-Objekts, indem tiefe Kopien der Werte des Objekts erstellt werden. Beim Kopieren der Abhängigkeitseigenschaften des Objekts kopiert diese Methode Ausdrücke (die möglicherweise nicht mehr aufgelöst werden können), jedoch keine Animationen oder ihre aktuellen Werte.

(Geerbt von Freezable)
CloneCore(Freezable)

Kopiert die Basiswerte (nicht animiert) der Eigenschaften des angegebenen Objekts.

(Geerbt von InputBinding)
CloneCurrentValue()

Erstellt einen änderbaren Klon (tiefe Kopie) von Freezable mit den aktuellen Werten.

(Geerbt von Freezable)
CloneCurrentValueCore(Freezable)

Kopiert die aktuellen Werte der Eigenschaften des angegebenen Objekts.

(Geerbt von InputBinding)
CoerceValue(DependencyProperty)

Erzwingt den Wert der angegebenen Abhängigkeitseigenschaft. Dies erfolgt durch den Aufruf einer beliebigen CoerceValueCallback-Funktion, die in den Metadaten für die Abhängigkeitseigenschaft angegeben ist, während sie beim aufrufenden DependencyObject beendet wird.

(Geerbt von DependencyObject)
CreateInstance()

Initialisiert eine neue Instanz der Freezable-Klasse.

(Geerbt von Freezable)
CreateInstanceCore()

Erstellt eine Instanz eines KeyBinding.

CreateInstanceCore()

Erstellt eine Instanz eines InputBinding-Objekts.

(Geerbt von InputBinding)
Equals(Object)

Bestimmt, ob ein angegebenes DependencyObject dem aktuellen DependencyObject entspricht.

(Geerbt von DependencyObject)
Freeze()

Definiert das aktuelle Objekt als nicht änderbar und legt seine IsFrozen-Eigenschaft auf true fest.

(Geerbt von Freezable)
FreezeCore(Boolean)

Legt das Freezable-Objekt als nicht änderbar fest oder überprüft, ob es als nicht änderbar festgelegt werden kann.

(Geerbt von Freezable)
GetAsFrozen()

Erstellt eine fixierte Kopie von Freezable mit Basiseigenschaftswerten (nicht animiert). Da die Kopie fixiert ist, werden alle fixierten Unterobjekte als Verweis kopiert.

(Geerbt von Freezable)
GetAsFrozenCore(Freezable)

Definiert die Instanz als fixierten Klon des angegebenen Freezable-Objekts mithilfe von Basiseigenschaftswerten (nicht animiert).

(Geerbt von InputBinding)
GetCurrentValueAsFrozen()

Erstellt eine fixierte Kopie von Freezable mit aktuellen Eigenschaftswerten. Da die Kopie fixiert ist, werden alle fixierten Unterobjekte als Verweis kopiert.

(Geerbt von Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Macht diese aktuelle Instanz zu einem fixierten Klon des angegebenen Freezable-Objekts. Wenn das Objekt über animierte Abhängigkeitseigenschaften verfügt, werden die aktuellen animierten Werte kopiert.

(Geerbt von InputBinding)
GetHashCode()

Ruft einen Hashcode für diese DependencyObject ab.

(Geerbt von DependencyObject)
GetLocalValueEnumerator()

Erstellt einen spezialisierten Enumerator, mit dem bestimmt wird, welche Abhängigkeitseigenschaften dieses DependencyObject über lokal festgelegte Werte verfügen.

(Geerbt von DependencyObject)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
GetValue(DependencyProperty)

Gibt den aktuellen effektiven Wert einer Abhängigkeitseigenschaft für diese Instanz eines DependencyObject zurück.

(Geerbt von DependencyObject)
InvalidateProperty(DependencyProperty)

Wertet den effektiven Wert für die angegebene Abhängigkeitseigenschaft erneut aus.

(Geerbt von DependencyObject)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
OnChanged()

Wird aufgerufen, wenn das aktuelle Freezable-Objekt geändert wird.

(Geerbt von Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Stellt sicher, dass entsprechende Kontextzeiger für einen gerade festgelegten DependencyObjectType-Datenmember eingerichtet werden.

(Geerbt von Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Dieses Member unterstützt die Windows Presentation Foundation -Infrastruktur (WPF) und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

(Geerbt von Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Wird immer dann aufgerufen, wenn der effektive Wert einer Abhängigkeitseigenschaft für dieses DependencyObject aktualisiert wurde. Welche spezifische Abhängigkeitseigenschaft geändert wird, wird in den Ereignisdaten gemeldet.

(Geerbt von DependencyObject)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Überschreibt die DependencyObject-Implementierung von OnPropertyChanged(DependencyPropertyChangedEventArgs), damit in Reaktion auf eine geänderte Abhängigkeitseigenschaft des Typs Freezable auch Changed-Handler aufgerufen werden.

(Geerbt von Freezable)
ReadLocalValue(DependencyProperty)

Gibt den lokalen Wert einer Abhängigkeitseigenschaft zurück, wenn dieser vorhanden ist.

(Geerbt von DependencyObject)
ReadPreamble()

Stellt sicher, dass über einen gültigen Thread auf Freezable zugegriffen wird. Vererber von Freezable müssen diese Methode am Anfang jeder API aufrufen, die Datenmember liest, bei denen es sich nicht um Abhängigkeitseigenschaften handelt.

(Geerbt von Freezable)
SetCurrentValue(DependencyProperty, Object)

Legt den Wert einer Abhängigkeitseigenschaft fest, ohne deren Wertquelle zu ändern.

(Geerbt von DependencyObject)
SetValue(DependencyProperty, Object)

Legt den lokalen Wert einer Abhängigkeitseigenschaft fest, die durch ihren Bezeichner angegeben ist.

(Geerbt von DependencyObject)
SetValue(DependencyPropertyKey, Object)

Legt den lokalen Wert einer schreibgeschützten Abhängigkeitseigenschaft fest, die durch den DependencyPropertyKey-Bezeichner der Abhängigkeitseigenschaft angegeben ist.

(Geerbt von DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Gibt einen Wert zurück, der angibt, ob Serialisierungsprozesse den Wert der bereitgestellten Abhängigkeitseigenschaft serialisieren sollen.

(Geerbt von DependencyObject)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
VerifyAccess()

Erzwingt, dass der aufrufende Thread auf dieses DispatcherObject zugreifen kann.

(Geerbt von DispatcherObject)
WritePostscript()

Löst das Changed-Ereignis für das Freezable-Objekt aus und ruft dessen OnChanged()-Methode auf. Klassen, die aus Freezable abgeleitet werden, sollten diese Methode am Ende jeder API aufrufen, die Klassenmember ändert, die nicht als Abhängigkeitseigenschaften gespeichert sind.

(Geerbt von Freezable)
WritePreamble()

Stellt sicher, dass das Freezable nicht fixiert ist und dass über einen gültigen Threadkontext darauf zugegriffen wird. Vererber von Freezable sollten diese Methode am Anfang jeder API aufrufen, die Datenmember schreibt, bei denen es sich nicht um Abhängigkeitseigenschaften handelt.

(Geerbt von Freezable)

Ereignisse

Changed

Tritt auf, wenn Freezable oder ein darin enthaltenes Objekt geändert wird.

(Geerbt von Freezable)

Gilt für:

Weitere Informationen