Partager via


KeyBinding Classe

Définition

Lie un KeyGesture à une RoutedCommand (ou une autre ICommand implémentation).

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
Héritage
Héritage

Exemples

L’exemple suivant crée un KeyBinding élément et l’ajoute à la InputBindingCollection fenêtre racine.

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

Remarques

Un KeyBinding associe un KeyGesture à un ICommand, tel qu’un RoutedCommand. RoutedCommand est l’implémentation principale de l’interface ICommand pour le système de commande WPF . En règle générale, lorsque la KeyGesture commande est exécutée, elle est appelée, bien que le comportement de la commande soit davantage influencé par des facteurs spécifiques à la commande tels que la CanExecute valeur. Pour plus d’informations sur la commande, consultez la vue d’ensemble de la commande.

À l’exception des touches de fonction et des touches de pavé numérique, une clé valide KeyGesture doit contenir exactement une Key ou plusieurs ModifierKeystouches . Les touches de fonction et les touches de pavé numérique ne nécessitent pas de touche de modificateur pour être valides KeyGesture. Il est possible de spécifier un élément non valide et un KeyBinding mouvement associé non valideKeyGesture, via XAML ou code. Par exemple, il n’existe aucune validation qui empêche la création et la liaison d’une KeyGesture clé qui contient uniquement une clé non fonctionnelle, ou uniquement des modificateurs, mais aucune clé. KeyBinding Une telle opération ne tentera jamais d’appeler sa commande associée.

Lors de la définition d’un KeyBinding langage XAML (Extensible Application Markup Language) il existe deux façons de spécifier le KeyGesture. La première façon d’établir un KeyBinding code XAML consiste à définir l’attribut Gesture de l’élément KeyBinding , qui permet à une syntaxe de spécifier des touches et des modificateurs en tant que chaîne unique, par exemple « Ctrl+P ». La deuxième façon consiste à définir l’attribut Key et les Modifiers attributs de l’élément KeyBinding . Les deux méthodes de définition de l’objet KeyGesture sont équivalentes et modifient le même objet sous-jacent, mais il y aura un conflit si les deux sont utilisés. Dans le cas où les Keyattributs et ModifiersGesture les attributs sont tous définis, l’attribut défini en dernier sera utilisé pour le KeyGesture. Vous pouvez éventuellement avoir des situations où, par exemple, un Key dernier jeu remplacera uniquement le composant Clé d’un geste précédent, mais laissez les modificateurs du mouvement identiques. En règle générale, il est recommandé d’utiliser uniquement l’attribut Gesture à partir de XAML. Cela évite l’ambiguïté, fournit la syntaxe la plus rationalisée et fournit la représentation la plus simple pour la sérialisation.

Un KeyBinding peut être défini sur un objet spécifique ou au niveau de la classe en inscrivant un RegisterClassInputBinding objet sur la CommandManager classe. La façon la plus classique de définir un KeyBinding est au sein du modèle de contrôle, en définissant la InputBindings propriété en XAML en déclarant un ou plusieurs MouseBinding éléments ou KeyBinding éléments.

Constructeurs

Nom Description
KeyBinding()

Initialise une nouvelle instance de la classe KeyBinding.

KeyBinding(ICommand, Key, ModifierKeys)

Initialise une nouvelle instance de la KeyBinding classe à l’aide des données spécifiées ICommand et spécifiées Key et ModifierKeys qui seront converties en un KeyGesture.

KeyBinding(ICommand, KeyGesture)

Initialise une nouvelle instance de la KeyBinding classe à l’aide du paramètre spécifié ICommand et KeyGesture.

Champs

Nom Description
KeyProperty

Identifie la Key propriété de dépendance.

ModifiersProperty

Identifie la Modifiers propriété de dépendance.

Propriétés

Nom Description
CanFreeze

Obtient une valeur qui indique si l’objet peut être rendu non modifiable.

(Hérité de Freezable)
Command

Obtient ou définit l’associé ICommand à cette liaison d’entrée.

(Hérité de InputBinding)
CommandParameter

Obtient ou définit les données spécifiques à la commande pour une commande particulière.

(Hérité de InputBinding)
CommandTarget

Obtient ou définit l’élément cible de la commande.

(Hérité de InputBinding)
DependencyObjectType

Obtient le DependencyObjectType type CLR de cette instance.

(Hérité de DependencyObject)
Dispatcher

Obtient ce Dispatcher qui DispatcherObject est associé.

(Hérité de DispatcherObject)
Gesture

Obtient ou définit le mouvement associé à ce KeyBinding.

IsFrozen

Obtient une valeur qui indique si l’objet est actuellement modifiable.

(Hérité de Freezable)
IsSealed

Obtient une valeur qui indique si cette instance est actuellement scellée (en lecture seule).

(Hérité de DependencyObject)
Key

Obtient ou définit l’élément KeyKeyGesture associé à ce KeyBindingfichier .

Modifiers

Obtient ou définit l’élément ModifierKeysKeyGesture associé à ce KeyBindingfichier .

Méthodes

Nom Description
CheckAccess()

Détermine si le thread appelant a accès à ce DispatcherObjectfichier .

(Hérité de DispatcherObject)
ClearValue(DependencyProperty)

Efface la valeur locale d’une propriété. La propriété à effacer est spécifiée par un DependencyProperty identificateur.

(Hérité de DependencyObject)
ClearValue(DependencyPropertyKey)

Efface la valeur locale d’une propriété en lecture seule. La propriété à effacer est spécifiée par un DependencyPropertyKey.

(Hérité de DependencyObject)
Clone()

Crée un clone modifiable de l’objet Freezable, effectuant des copies approfondies des valeurs de l’objet. Lors de la copie des propriétés de dépendance de l’objet, cette méthode copie les expressions (qui peuvent ne plus être résolues), mais pas les animations ou leurs valeurs actuelles.

(Hérité de Freezable)
CloneCore(Freezable)

Copie les valeurs de base (non animées) des propriétés de l’objet spécifié.

(Hérité de InputBinding)
CloneCurrentValue()

Crée un clone modifiable (copie approfondie) de l’utilisation Freezable de ses valeurs actuelles.

(Hérité de Freezable)
CloneCurrentValueCore(Freezable)

Copie les valeurs actuelles des propriétés de l’objet spécifié.

(Hérité de InputBinding)
CoerceValue(DependencyProperty)

Force la valeur de la propriété de dépendance spécifiée. Pour ce faire, appelez n’importe quelle CoerceValueCallback fonction spécifiée dans les métadonnées de propriété pour la propriété de dépendance telle qu’elle existe sur l’appel DependencyObject.

(Hérité de DependencyObject)
CreateInstance()

Initialise une nouvelle instance de la classe Freezable.

(Hérité de Freezable)
CreateInstanceCore()

Crée une instance d’un KeyBinding.

Equals(Object)

Détermine si un élément fourni DependencyObject est équivalent à l’actuel DependencyObject.

(Hérité de DependencyObject)
Freeze()

Rend l’objet actuel non modifiable et définit sa IsFrozen propriété sur true.

(Hérité de Freezable)
FreezeCore(Boolean)

Rend l’objet Freezable non modifiable ou teste s’il peut être rendu inmodifiable.

(Hérité de Freezable)
GetAsFrozen()

Crée une copie figée des valeurs de Freezablepropriété de base (non animées). Étant donné que la copie est figée, tous les sous-objets figés sont copiés par référence.

(Hérité de Freezable)
GetAsFrozenCore(Freezable)

Rend l’instance un clone figé du spécifié Freezable à l’aide de valeurs de propriété de base (non animées).

(Hérité de InputBinding)
GetCurrentValueAsFrozen()

Crée une copie figée de l’utilisation Freezable des valeurs de propriété actuelles. Étant donné que la copie est figée, tous les sous-objets figés sont copiés par référence.

(Hérité de Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Rend l’instance actuelle un clone figé du fichier spécifié Freezable. Si l’objet a des propriétés de dépendance animée, leurs valeurs animées actuelles sont copiées.

(Hérité de InputBinding)
GetHashCode()

Obtient un code de hachage pour ce DependencyObject.

(Hérité de DependencyObject)
GetLocalValueEnumerator()

Crée un énumérateur spécialisé pour déterminer quelles propriétés de dépendance ont des valeurs définies localement sur ce DependencyObject.

(Hérité de DependencyObject)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
GetValue(DependencyProperty)

Retourne la valeur effective actuelle d’une propriété de dépendance sur cette instance d’un DependencyObject.

(Hérité de DependencyObject)
InvalidateProperty(DependencyProperty)

Évalue à nouveau la valeur effective de la propriété de dépendance spécifiée.

(Hérité de DependencyObject)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
OnChanged()

Appelé lorsque l’objet actuel Freezable est modifié.

(Hérité de Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Ce membre prend en charge l’infrastructure WPF (Windows Presentation Foundation) et n’est pas destiné à être utilisé directement à partir de votre code.

(Hérité de Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Garantit que les pointeurs de contexte appropriés sont établis pour un DependencyObjectType membre de données qui vient d’être défini.

(Hérité de Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Appelé chaque fois que la valeur effective d’une propriété de dépendance sur celle-ci DependencyObject a été mise à jour. La propriété de dépendance spécifique qui a changé est signalée dans les données d’événement.

(Hérité de DependencyObject)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Remplace l’implémentation DependencyObject de OnPropertyChanged(DependencyPropertyChangedEventArgs) l’appel de tous Changed les gestionnaires en réponse à une propriété de dépendance modifiée de type Freezable.

(Hérité de Freezable)
ReadLocalValue(DependencyProperty)

Retourne la valeur locale d’une propriété de dépendance, le cas échéant.

(Hérité de DependencyObject)
ReadPreamble()

Garantit l’accès Freezable à partir d’un thread valide. Les héritiers de Freezable doivent appeler cette méthode au début de toute API qui lit les membres de données qui ne sont pas des propriétés de dépendance.

(Hérité de Freezable)
SetCurrentValue(DependencyProperty, Object)

Définit la valeur d’une propriété de dépendance sans modifier sa source de valeur.

(Hérité de DependencyObject)
SetValue(DependencyProperty, Object)

Définit la valeur locale d’une propriété de dépendance, spécifiée par son identificateur de propriété de dépendance.

(Hérité de DependencyObject)
SetValue(DependencyPropertyKey, Object)

Définit la valeur locale d’une propriété de dépendance en lecture seule, spécifiée par l’identificateur DependencyPropertyKey de la propriété de dépendance.

(Hérité de DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Retourne une valeur qui indique si les processus de sérialisation doivent sérialiser la valeur de la propriété de dépendance fournie.

(Hérité de DependencyObject)
ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)
VerifyAccess()

Applique que le thread appelant a accès à ce DispatcherObjectfichier .

(Hérité de DispatcherObject)
WritePostscript()

Déclenche l’événement Changed pour la Freezable méthode et appelle sa OnChanged() méthode. Les classes dérivées Freezable de doivent appeler cette méthode à la fin de toute API qui modifie les membres de classe qui ne sont pas stockés en tant que propriétés de dépendance.

(Hérité de Freezable)
WritePreamble()

Vérifie que l’objet Freezable n’est pas figé et qu’il est accessible à partir d’un contexte de threading valide. Freezable Les hériteurs doivent appeler cette méthode au début de toute API qui écrit dans les membres de données qui ne sont pas des propriétés de dépendance.

(Hérité de Freezable)

Événements

Nom Description
Changed

Se produit lorsque l’objet Freezable qu’il contient est modifié.

(Hérité de Freezable)

S’applique à

Voir aussi