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 eine 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
A KeyBinding ordnet einen KeyGesture mit einem ICommand, z. B. einem RoutedCommand. RoutedCommand ist die primäre Implementierung der ICommand Schnittstelle für das WPF-Befehlssystem. Im Allgemeinen wird beim Ausführen des KeyGesture Befehls der Befehl aufgerufen, obwohl das Befehlsverhalten weiter von befehlsspezifischen Faktoren wie dem CanExecute Wert beeinflusst wird. Weitere Informationen zum Befehlen finden Sie in der Befehlsübersicht.
Mit Ausnahme der Funktionstasten und der Zehnertastatur muss ein gültiger KeyGesture Wert genau eine Key und mindestens eine ModifierKeysenthalten. Funktionstasten und Zehnertastaturtasten erfordern keine Zusatztaste, um gültig 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. Beispielsweise gibt es keine Überprüfung, die verhindert, dass ein KeyGesture Objekt erstellt und gebunden wird, das nur einen Nichtfunktionsschlüssel enthält, oder nur Modifizierer, aber keinen Schlüssel. KeyBinding Eine solche wird niemals versuchen, den zugeordneten Befehl aufzurufen.
Beim Definieren einer KeyBinding in Extensible Application Markup Language (XAML) gibt es zwei Möglichkeiten zum Angeben der KeyGesture. Die erste Möglichkeit zum Einrichten eines KeyBinding XAML-Codes 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 Methoden zum Festlegen KeyGesture der Einstellung sind gleichwertig und ändern dasselbe zugrunde liegende Objekt, es wird jedoch ein Konflikt auftreten, wenn beide verwendet werden. In dem Fall, wenn die Key, und die Gesture Attribute alle festgelegt sind, wird das Attribut, das zuletzt definiert wird, für die KeyGestureModifiers. Möglicherweise können Sie Situationen haben, in denen beispielsweise ein Key Satz zuletzt nur die Schlüsselkomponente einer vorherigen Geste überschreibt, aber die Modifizierer der Geste unverändert lassen. Im Allgemeinen wird empfohlen, nur das Gesture Attribut aus XAML zu verwenden. Dies verhindert Mehrdeutigkeit, stellt die optimierte Syntax bereit und stellt die einfachste Darstellung für die Serialisierung bereit.
A KeyBinding kann für ein bestimmtes Objekt oder auf Klassenebene definiert werden, indem eine RegisterClassInputBinding für die CommandManager Klasse registriert wird. 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 Element MouseBindingKeyBinding deklarieren.
Konstruktoren
| Name | Beschreibung |
|---|---|
| KeyBinding() |
Initialisiert eine neue Instanz der KeyBinding-Klasse. |
| KeyBinding(ICommand, Key, ModifierKeys) |
Initialisiert eine neue Instanz der Klasse mithilfe der KeyBinding angegebenen und der angegebenen ICommandKey Klasse, die ModifierKeys in eine KeyGesturekonvertiert wird. |
| KeyBinding(ICommand, KeyGesture) |
Initialisiert eine neue Instanz der Klasse mithilfe der KeyBinding angegebenen ICommand und KeyGesture. |
Felder
| Name | Beschreibung |
|---|---|
| KeyProperty |
Identifies the Key dependency property. |
| ModifiersProperty |
Identifies the Modifiers dependency property. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| CanFreeze |
Ruft einen Wert ab, der angibt, ob das Objekt unveränderlich gemacht werden kann. (Geerbt von Freezable) |
| Command |
Dient zum Abrufen oder Festlegen der ICommand zugeordneten Eingabebindung. (Geerbt von InputBinding) |
| CommandParameter |
Dient zum Abrufen oder Festlegen der befehlsspezifischen Daten für einen bestimmten Befehl. (Geerbt von InputBinding) |
| CommandTarget |
Ruft das Zielelement des Befehls ab oder legt es fest. (Geerbt von InputBinding) |
| DependencyObjectType |
Ruft den DependencyObjectType CLR-Typ dieser Instanz ab. (Geerbt von DependencyObject) |
| Dispatcher |
Ruft dies Dispatcher ab, dem dies DispatcherObject zugeordnet ist. (Geerbt von DispatcherObject) |
| Gesture |
Ruft die dieser Geste zugeordnete KeyBindingGeste ab oder legt sie 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 aktuell versiegelt ist (schreibgeschützt). (Geerbt von DependencyObject) |
| Key |
Dient zum Abrufen oder Festlegen Key des zugeordneten Werts KeyGestureKeyBinding. |
| Modifiers |
Dient zum Abrufen oder Festlegen ModifierKeys des zugeordneten Werts KeyGestureKeyBinding. |
Methoden
| Name | Beschreibung |
|---|---|
| CheckAccess() |
Bestimmt, ob der aufrufende Thread Zugriff auf diesen DispatcherObjectThread hat. (Geerbt von DispatcherObject) |
| ClearValue(DependencyProperty) |
Löscht den lokalen Wert einer Eigenschaft. Die zu löschende Eigenschaft wird durch einen DependencyProperty Bezeichner angegeben. (Geerbt von DependencyObject) |
| ClearValue(DependencyPropertyKey) |
Löscht den lokalen Wert einer schreibgeschützten Eigenschaft. Die zu löschende Eigenschaft wird durch eine DependencyPropertyKey. (Geerbt von DependencyObject) |
| Clone() |
Erstellt einen modifizierbaren Klon des FreezableObjekts, wobei 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 modifizierbaren Klon (deep copy) der Freezable aktuellen Werte. (Geerbt von Freezable) |
| CloneCurrentValueCore(Freezable) |
Kopiert die aktuellen Werte der Eigenschaften des angegebenen Objekts. (Geerbt von InputBinding) |
| CoerceValue(DependencyProperty) |
Wandelt den Wert der angegebenen Abhängigkeitseigenschaft um. Dies wird erreicht, indem alle CoerceValueCallback in Eigenschaftsmetadaten für die Abhängigkeitseigenschaft angegebenen Funktionen aufgerufen werden, wie sie für den Aufruf DependencyObjectvorhanden sind. (Geerbt von DependencyObject) |
| CreateInstance() |
Initialisiert eine neue Instanz der Freezable-Klasse. (Geerbt von Freezable) |
| CreateInstanceCore() |
Erstellt eine Instanz eines KeyBinding. |
| Equals(Object) |
Bestimmt, ob ein bereitgestelltes DependencyObject Element dem aktuellen DependencyObjectentspricht. (Geerbt von DependencyObject) |
| Freeze() |
Macht das aktuelle Objekt unveränderlich und legt seine IsFrozen Eigenschaft auf |
| FreezeCore(Boolean) |
Macht das Freezable Objekt unveränderlich oder prüft, ob es unveränderlich gemacht werden kann. (Geerbt von Freezable) |
| GetAsFrozen() |
Erstellt eine fixierte Kopie der Freezablebasisbasierten (nicht animierten) Eigenschaftswerte. Da die Kopie fixiert ist, werden alle fixierten Unterobjekte per Verweis kopiert. (Geerbt von Freezable) |
| GetAsFrozenCore(Freezable) |
Macht die Instanz zu einem fixierten Klon des angegebenen Freezable Werts mithilfe von Basiseigenschaftenwerten (nicht animiert). (Geerbt von InputBinding) |
| GetCurrentValueAsFrozen() |
Erstellt eine fixierte Kopie der Freezable aktuellen Eigenschaftswerte. Da die Kopie fixiert ist, werden alle fixierten Unterobjekte per Verweis kopiert. (Geerbt von Freezable) |
| GetCurrentValueAsFrozenCore(Freezable) |
Macht die aktuelle Instanz zu einem fixierten Klon des angegebenen Freezable. Wenn das Objekt animierte Abhängigkeitseigenschaften aufweist, werden die aktuellen animierten Werte kopiert. (Geerbt von InputBinding) |
| GetHashCode() |
Ruft einen Hashcode für diese DependencyObjectab. (Geerbt von DependencyObject) |
| GetLocalValueEnumerator() |
Erstellt einen speziellen Enumerator, um zu bestimmen, welche Abhängigkeitseigenschaften lokal festgelegte Werte für diese DependencyObjectEigenschaft haben. (Geerbt von DependencyObject) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| GetValue(DependencyProperty) |
Gibt den aktuellen effektiven Wert einer Abhängigkeitseigenschaft für diese Instanz einer .DependencyObject (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 der aktuellen Object. (Geerbt von Object) |
| OnChanged() |
Wird aufgerufen, wenn das aktuelle Freezable Objekt geändert wird. (Geerbt von Freezable) |
| OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) |
Dieses Mitglied unterstützt die Windows Presentation Foundation (WPF)-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. (Geerbt von Freezable) |
| OnFreezablePropertyChanged(DependencyObject, DependencyObject) |
Stellt sicher, dass geeignete Kontextzeiger für ein DependencyObjectType soeben festgelegtes Datenelement eingerichtet werden. (Geerbt von Freezable) |
| OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Wird immer aufgerufen, wenn der effektive Wert einer Abhängigkeitseigenschaft für diese DependencyObject Eigenschaft aktualisiert wurde. Die spezifische Abhängigkeitseigenschaft, die geändert wurde, wird in den Ereignisdaten gemeldet. (Geerbt von DependencyObject) |
| OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Setzt die DependencyObject Implementierung OnPropertyChanged(DependencyPropertyChangedEventArgs) außer Kraft, um auch alle Changed Handler als Reaktion auf eine sich ändernde Abhängigkeitseigenschaft vom Typ Freezableaufzurufen. (Geerbt von Freezable) |
| ReadLocalValue(DependencyProperty) |
Gibt den lokalen Wert einer Abhängigkeitseigenschaft zurück, sofern vorhanden. (Geerbt von DependencyObject) |
| ReadPreamble() |
Stellt sicher, dass der Freezable Zugriff über einen gültigen Thread erfolgt. Erber von Freezable müssen diese Methode am Anfang einer API aufrufen, die Datenmmber liest, die keine Abhängigkeitseigenschaften sind. (Geerbt von Freezable) |
| SetCurrentValue(DependencyProperty, Object) |
Legt den Wert einer Abhängigkeitseigenschaft fest, ohne die Wertquelle zu ändern. (Geerbt von DependencyObject) |
| SetValue(DependencyProperty, Object) |
Legt den lokalen Wert einer Abhängigkeitseigenschaft fest, die durch den Bezeichner der Abhängigkeitseigenschaft angegeben wird. (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 wird. (Geerbt von DependencyObject) |
| ShouldSerializeProperty(DependencyProperty) |
Gibt einen Wert zurück, der angibt, ob Serialisierungsprozesse den Wert für die bereitgestellte 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 Zugriff auf diesen DispatcherObjectThread hat. (Geerbt von DispatcherObject) |
| WritePostscript() |
Löst das Changed Ereignis für die Freezable Methode aus und ruft es OnChanged() auf. Klassen, die von Freezable dieser Methode abgeleitet werden, sollten am Ende einer API aufgerufen werden, die Klassenmmber ändert, die nicht als Abhängigkeitseigenschaften gespeichert sind. (Geerbt von Freezable) |
| WritePreamble() |
Überprüft, ob der Freezable Zugriff nicht fixiert ist und über einen gültigen Threadingkontext darauf zugegriffen wird. Freezable Vererbungen sollten diese Methode am Anfang einer API aufrufen, die in Datenmmber schreibt, die keine Abhängigkeitseigenschaften sind. (Geerbt von Freezable) |
Ereignisse
| Name | Beschreibung |
|---|---|
| Changed |
Tritt auf, wenn das Freezable darin enthaltene Objekt geändert wird. (Geerbt von Freezable) |