KeyBinding Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 Objekt erstellt und dem InputBindingCollection Stammfenster 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 mit KeyGesture einem ICommand, z. B. einem RoutedCommand. RoutedCommand ist die primäre Implementierung der ICommand Schnittstelle für das WPF-Befehlssystem. Im Allgemeinen wird beim KeyGesture Ausführen des Befehls der Befehl aufgerufen, obwohl das Befehlsverhalten durch befehlsspezifische Faktoren wie den CanExecute Wert weiter beeinflusst wird. Weitere Informationen zum Befehlen finden Sie in der Befehlsübersicht.
Mit Ausnahme der Funktionstasten und der numerischen Tastenkombinationen muss ein gültiger KeyGesture Wert genau eine Key und mindestens eine ModifierKeysenthalten. Funktionstasten und numerische Tastenkombinationen erfordern keine Modifizierertaste, um eine gültige KeyGesture. Es ist möglich, eine ungültige KeyGesture und eine KeyBinding mit einer ungültigen zugeordneten Geste anzugeben, entweder über XAML oder Code. Beispielsweise gibt es keine Überprüfung, die verhindert, dass ein KeyGesture Objekt erstellt und gebunden wird, das nur einen nicht funktionsfreien Schlüssel enthält, oder nur Modifizierer, aber keine Taste. Ein KeyBinding solcher Vorgang versucht niemals, seinen zugeordneten Befehl aufzurufen.
Beim Definieren einer KeyBinding Extensible Application Markup Language (XAML) gibt es zwei Möglichkeiten zum Angeben der KeyGesture. Die erste Möglichkeit zum Einrichten eines KeyBinding XAML-Elements besteht darin, das Gesture Attribut des KeyBinding Elements zu definieren, mit dem 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 Arten der Einstellung KeyGesture sind gleichwertig und ändern dasselbe zugrunde liegende Objekt, es gibt jedoch einen Konflikt, wenn beide verwendet werden. In dem Fall, wenn das Key, und die Gesture Attribute alle festgelegt sind, wird das Attribut, das zuletzt definiert wird, für die KeyGestureModifiersverwendet. Möglicherweise können Sie Situationen haben, in denen z. B. ein Key Satz zuletzt nur die Schlüsselkomponente einer vorherigen Geste überschreibt, aber die Modifizierer der Geste unverändert lassen. Im Allgemeinen empfiehlt es sich, nur das Gesture Attribut aus XAML zu verwenden. Dadurch wird die Mehrdeutigkeit vermieden, die optimiertste Syntax bereitgestellt und die einfachste Darstellung für die Serialisierung bereitgestellt.
Eine KeyBinding kann für ein bestimmtes Objekt oder auf Klassenebene definiert werden, indem sie eine RegisterClassInputBinding für die CommandManager Klasse registrieren. Die am häufigsten zu definierende KeyBinding Methode befindet sich in der Steuerelementvorlage, indem Sie die InputBindings Eigenschaft in XAML festlegen, indem Sie mindestens ein MouseBinding KeyBinding Element deklarieren.
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 DependencyObjectType CLR-Typ dieser Instanz ab. (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 |
| 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 Mitglied 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) |