Partage via


KeyBinding Classe

Définition

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

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 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 général, lorsque le est exécuté, la commande est appelée, bien que le comportement de la commande soit davantage influencé par des facteurs spécifiques à la KeyGesture commande tels que la CanExecute valeur. Pour plus d’informations sur la commande, consultez vue d’ensemble des commandes.

À l’exception des touches de fonction et des touches numériques du clavier, un valide KeyGesture doit contenir exactement un Key et un ou plusieurs ModifierKeys. Les touches de fonction et les touches numériques du pavé numérique ne nécessitent pas de touche de modification pour être valides KeyGesture. Il est possible de spécifier un non valide KeyGesture et un avec un KeyBinding mouvement associé non valide, via XAML ou du code. Pour instance, il n’existe aucune validation qui empêche la création et la liaison d’un KeyGesture qui contient uniquement une clé non fonctionnelle, ou seulement des modificateurs, mais pas de clé. Un tel objet KeyBinding n’essaiera jamais d’appeler sa commande associée.

Lors de la définition d’un KeyBinding dans XAML (Extensible Application Markup Language), il existe deux façons de spécifier le KeyGesture. La première façon d’établir un KeyBinding en XAML consiste à définir l’attribut Gesture de l’élément KeyBinding , ce qui permet à une syntaxe de spécifier des clés et des modificateurs sous la forme d’une chaîne unique, par exemple « CTRL+P ». La deuxième méthode consiste à définir l’attribut Key et les Modifiers attributs de l’élément KeyBinding . Les deux méthodes de définition KeyGesture de 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 , Modifierset les Gesture attributs sont tous définis, l’attribut qui est défini en dernier est utilisé pour le KeyGesture. Vous pouvez potentiellement avoir des situations où, par exemple, un Key dernier jeu remplacera uniquement le composant Key d’un geste précédent, mais laissera les modificateurs du mouvement identiques. En général, il est recommandé d’utiliser uniquement l’attribut Gesture xaml. Cela permet d’éviter toute ambiguïté, de fournir la syntaxe la plus simple et de fournir 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 sur la CommandManager classe . La façon la plus courante de définir un KeyBinding est dans le 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 .

Constructeurs

KeyBinding()

Initialise une nouvelle instance de la classe KeyBinding.

KeyBinding(ICommand, Key, ModifierKeys)

Initialise une nouvelle instance de la classe KeyBinding à l'aide de l'interface ICommand spécifiée ainsi que du Key et des ModifierKeys spécifiés qui seront convertis en KeyGesture.

KeyBinding(ICommand, KeyGesture)

Initialise une nouvelle instance de la classe KeyBinding avec les ICommand et KeyGesture spécifiés.

Champs

KeyProperty

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

ModifiersProperty

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

Propriétés

CanFreeze

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

(Hérité de Freezable)
Command

Obtient ou définit le ICommand associé à 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 qui encapsule le type CLR de ce instance.

(Hérité de DependencyObject)
Dispatcher

Obtient le Dispatcher associé à DispatcherObject.

(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

Récupère une valeur qui indique si cette instance est actuellement sealed (en lecture seule).

(Hérité de DependencyObject)
Key

Obtient ou définit le Key du KeyGesture associé à ce KeyBinding.

Modifiers

Obtient ou définit le ModifierKeys du KeyGesture associé à ce KeyBinding.

Méthodes

CheckAccess()

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

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

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

(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 DependencyPropertyKey.

(Hérité de DependencyObject)
Clone()

Crée un clone modifiable de Freezable, en créant des copies complètes 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 se résoudre), mais pas les animations ni 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 complète) de Freezable en utilisant 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)

Convertit la valeur de la propriété de dépendance spécifiée. Pour cela, on appelle toute fonction CoerceValueCallback spécifiée dans les métadonnées de propriété pour la propriété de dépendance telle qu’elle existe sur le DependencyObject appelant.

(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.

CreateInstanceCore()

Crée une instance de InputBinding.

(Hérité de InputBinding)
Equals(Object)

Détermine si un DependencyObject fourni est équivalent au DependencyObject réel.

(Hérité de DependencyObject)
Freeze()

Rend l’objet actif non modifiable et attribue à sa propriété IsFrozen la valeur true.

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

Rend l'objet Freezable non modifiable ou vérifie si celui-ci peut être rendu non modifiable ou pas.

(Hérité de Freezable)
GetAsFrozen()

Crée une copie figée de Freezable, à l'aide des valeurs de propriété (non-animées) de base. É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)

Convertit l'instance en clone figé du Freezable spécifié à l'aide des valeurs de propriétés (non animées) de base.

(Hérité de InputBinding)
GetCurrentValueAsFrozen()

Crée une copie figée de Freezable à l'aide 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)

Convertit l’instance actuelle en un clone figé du Freezable spécifié. Si l’objet a des propriétés de dépendance animées, 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 le 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)

Réévalue la valeur effective de la propriété de dépendance spécifiée.

(Hérité de DependencyObject)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
OnChanged()

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

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

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

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

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

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

Méthode appelée chaque fois que la valeur effective d’une propriété de dépendance sur ce 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)

Substitue l’implémentation DependencyObject de OnPropertyChanged(DependencyPropertyChangedEventArgs) pour appeler également tous les gestionnaires Changed en réponse à une propriété de dépendance variable de type Freezable.

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

Retourne la valeur locale d’une propriété de dépendance, si elle existe.

(Hérité de DependencyObject)
ReadPreamble()

Garantit que Freezable est accessible à partir d'un thread valide. Les héritiers de Freezable doivent appeler cette méthode au début de toute API lisant 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 valeur source.

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

Garantit que le thread appelant a accès à DispatcherObject.

(Hérité de DispatcherObject)
WritePostscript()

Déclenche l’événement Changed pour le Freezable et appelle sa méthode OnChanged(). Les classes qui dérivent de Freezable doivent appeler cette méthode à la fin de toute API qui modifie des 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 le Freezable n'est pas figé et que son accès s'effectue à partir d'un contexte de thread valide. Les héritiers de Freezable doivent appeler cette méthode au début de toute API écrivant dans les membres de données qui ne sont pas des propriétés de dépendance.

(Hérité de Freezable)

Événements

Changed

Se produit lorsque Freezable ou un objet qu'il contient est modifié.

(Hérité de Freezable)

S’applique à

Voir aussi