Compartir por


KeyBinding Clase

Definición

Enlaza un KeyGesture objeto a una RoutedCommand (u otra ICommand implementación).

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

Ejemplos

En el ejemplo siguiente se crea y KeyBinding se agrega a InputBindingCollection la de la ventana raíz.

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

Comentarios

un KeyBinding objeto asocia a KeyGesture un ICommandobjeto , como .RoutedCommand RoutedCommand es la implementación principal de la ICommand interfaz para el sistema de comandos de WPF . En general, cuando KeyGesture se ejecuta el comando se invoca, aunque el comportamiento del comando se ve afectado por factores específicos del comando, como el CanExecute valor. Para obtener más información sobre el comando, vea Información general sobre comandos.

Con la excepción de las claves de función y las claves del teclado numérico, un valor válido KeyGesture debe contener exactamente uno Key y uno o varios ModifierKeys. Las claves de función y las claves numéricas del teclado no requieren una clave modificadora para que sea válida KeyGesture. Es posible especificar un no válido KeyGesture y un con un KeyBinding gesto asociado no válido, ya sea a través de XAML o código. Por ejemplo, no hay ninguna validación que impida la creación y el enlace de un KeyGesture objeto que contenga solo una clave no funcional o solo modificadores, pero sin clave. KeyBinding Este tipo nunca intentará invocar su comando asociado.

Al definir en KeyBinding Lenguaje de marcado extensible de aplicaciones (XAML), hay dos maneras de especificar .KeyGesture La primera manera de establecer un KeyBinding elemento en XAML es definir el Gesture atributo del KeyBinding elemento, lo que permite que una sintaxis especifique claves y modificadores como una sola cadena, por ejemplo "CTRL+P". La segunda forma es definir el Key atributo y los Modifiers atributos del KeyBinding elemento. Ambas formas de establecer KeyGesture son equivalentes y modifican el mismo objeto subyacente, pero habrá un conflicto si se usan ambos. En el caso de que se establezcan todos los Keyatributos , Modifiersy Gesture , el atributo que se define por última vez se usará para .KeyGesture Puede tener situaciones en las que, por ejemplo, un Key conjunto por última vez sobrescribirá solo el componente Clave de un gesto anterior, pero deje los modificadores del gesto igual. En general, se recomienda usar solo el Gesture atributo de XAML; esto evitará la ambigüedad, proporciona la sintaxis más simplificada y proporciona la representación más sencilla para la serialización.

Se KeyBinding puede definir en un objeto específico o en el nivel de clase registrando un RegisterClassInputBinding elemento en la CommandManager clase . La manera más habitual de definir un KeyBinding elemento está dentro de la plantilla de control, estableciendo la InputBindings propiedad en XAML declarando uno o varios MouseBinding elementos.KeyBinding

Constructores

Nombre Description
KeyBinding()

Inicializa una nueva instancia de la clase KeyBinding.

KeyBinding(ICommand, Key, ModifierKeys)

Inicializa una nueva instancia de la KeyBinding clase utilizando el especificado y el especificado ICommandKey y ModifierKeys que se convertirá en .KeyGesture

KeyBinding(ICommand, KeyGesture)

Inicializa una nueva instancia de la KeyBinding clase mediante el especificado ICommand y KeyGesture.

Campos

Nombre Description
KeyProperty

Identifica la Key propiedad de dependencia.

ModifiersProperty

Identifica la Modifiers propiedad de dependencia.

Propiedades

Nombre Description
CanFreeze

Obtiene un valor que indica si el objeto se puede hacer no modificable.

(Heredado de Freezable)
Command

Obtiene o establece el ICommand asociado a este enlace de entrada.

(Heredado de InputBinding)
CommandParameter

Obtiene o establece los datos específicos del comando para un comando determinado.

(Heredado de InputBinding)
CommandTarget

Obtiene o establece el elemento de destino del comando.

(Heredado de InputBinding)
DependencyObjectType

Obtiene el DependencyObjectType objeto que encapsula el tipo CLR de esta instancia.

(Heredado de DependencyObject)
Dispatcher

Obtiene el objeto al que DispatcherDispatcherObject está asociado.

(Heredado de DispatcherObject)
Gesture

Obtiene o establece el gesto asociado a este KeyBindingobjeto .

IsFrozen

Obtiene un valor que indica si el objeto se puede modificar actualmente.

(Heredado de Freezable)
IsSealed

Obtiene un valor que indica si esta instancia está actualmente sellada (solo lectura).

(Heredado de DependencyObject)
Key

Obtiene o establece el Key de asociado KeyGesture a este KeyBindingobjeto .

Modifiers

Obtiene o establece el ModifierKeys de asociado KeyGesture a este KeyBindingobjeto .

Métodos

Nombre Description
CheckAccess()

Determina si el subproceso que llama tiene acceso a este DispatcherObject.

(Heredado de DispatcherObject)
ClearValue(DependencyProperty)

Borra el valor local de una propiedad. Un identificador especifica DependencyProperty la propiedad que se va a borrar.

(Heredado de DependencyObject)
ClearValue(DependencyPropertyKey)

Borra el valor local de una propiedad de solo lectura. La propiedad que se va a borrar se especifica mediante .DependencyPropertyKey

(Heredado de DependencyObject)
Clone()

Crea un clon modificable de Freezable, haciendo copias profundas de los valores del objeto. Al copiar las propiedades de dependencia del objeto, este método copia expresiones (que podrían dejar de resolverse), pero no animaciones ni sus valores actuales.

(Heredado de Freezable)
CloneCore(Freezable)

Copia los valores base (no animados) de las propiedades del objeto especificado.

(Heredado de InputBinding)
CloneCurrentValue()

Crea un clon modificable (copia profunda) del Freezable utilizando sus valores actuales.

(Heredado de Freezable)
CloneCurrentValueCore(Freezable)

Copia los valores actuales de las propiedades del objeto especificado.

(Heredado de InputBinding)
CoerceValue(DependencyProperty)

Coerce el valor de la propiedad de dependencia especificada. Esto se logra invocando cualquier CoerceValueCallback función especificada en metadatos de propiedad para la propiedad de dependencia tal como existe en la llamada DependencyObjecta .

(Heredado de DependencyObject)
CreateInstance()

Inicializa una nueva instancia de la clase Freezable.

(Heredado de Freezable)
CreateInstanceCore()

Crea una instancia de .KeyBinding

Equals(Object)

Determina si un proporcionado DependencyObject es equivalente al objeto actual DependencyObject.

(Heredado de DependencyObject)
Freeze()

Hace que el objeto actual no se pueda modificar y establezca su IsFrozen propiedad trueen .

(Heredado de Freezable)
FreezeCore(Boolean)

Hace que el Freezable objeto no se pueda modificar o compruebe si se puede hacer no modificable.

(Heredado de Freezable)
GetAsFrozen()

Crea una copia inmovilizada de , Freezablemediante valores de propiedad base (no animados). Dado que la copia está inmovilizada, los sub-objetos congelados se copian por referencia.

(Heredado de Freezable)
GetAsFrozenCore(Freezable)

Convierte la instancia en un clon inmovilizado del especificado Freezable mediante valores de propiedad base (no animados).

(Heredado de InputBinding)
GetCurrentValueAsFrozen()

Crea una copia inmovilizada de mediante los valores de Freezable propiedad actuales. Dado que la copia está inmovilizada, los sub-objetos congelados se copian por referencia.

(Heredado de Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Convierte la instancia actual en un clon inmovilizado del especificado Freezable. Si el objeto tiene propiedades de dependencia animadas, se copian sus valores animados actuales.

(Heredado de InputBinding)
GetHashCode()

Obtiene un código hash para este DependencyObjectobjeto .

(Heredado de DependencyObject)
GetLocalValueEnumerator()

Crea un enumerador especializado para determinar qué propiedades de dependencia tienen valores establecidos localmente en este DependencyObject.

(Heredado de DependencyObject)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
GetValue(DependencyProperty)

Devuelve el valor efectivo actual de una propiedad de dependencia en esta instancia de .DependencyObject

(Heredado de DependencyObject)
InvalidateProperty(DependencyProperty)

Vuelve a evaluar el valor efectivo de la propiedad de dependencia especificada.

(Heredado de DependencyObject)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
OnChanged()

Se llama cuando se modifica el objeto actual Freezable .

(Heredado de Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Este miembro admite la infraestructura de Windows Presentation Foundation (WPF) y no está pensada para usarse directamente desde el código.

(Heredado de Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Garantiza que los punteros de contexto adecuados se establecen para un DependencyObjectType miembro de datos que se acaba de establecer.

(Heredado de Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Se invoca cada vez que se ha actualizado el valor efectivo de cualquier propiedad de dependencia en esto DependencyObject . La propiedad de dependencia específica que cambió se notifica en los datos del evento.

(Heredado de DependencyObject)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Invalida la DependencyObject implementación de OnPropertyChanged(DependencyPropertyChangedEventArgs) para invocar también los Changed controladores en respuesta a una propiedad de dependencia cambiante de tipo Freezable.

(Heredado de Freezable)
ReadLocalValue(DependencyProperty)

Devuelve el valor local de una propiedad de dependencia, si existe.

(Heredado de DependencyObject)
ReadPreamble()

Garantiza que Freezable se accede a desde un subproceso válido. Los heredadores de Freezable deben llamar a este método al principio de cualquier API que lea miembros de datos que no sean propiedades de dependencia.

(Heredado de Freezable)
SetCurrentValue(DependencyProperty, Object)

Establece el valor de una propiedad de dependencia sin cambiar su origen de valor.

(Heredado de DependencyObject)
SetValue(DependencyProperty, Object)

Establece el valor local de una propiedad de dependencia, especificado por su identificador de propiedad de dependencia.

(Heredado de DependencyObject)
SetValue(DependencyPropertyKey, Object)

Establece el valor local de una propiedad de dependencia de solo lectura, especificada por el DependencyPropertyKey identificador de la propiedad de dependencia.

(Heredado de DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Devuelve un valor que indica si los procesos de serialización deben serializar el valor de la propiedad de dependencia proporcionada.

(Heredado de DependencyObject)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
VerifyAccess()

Exige que el subproceso de llamada tenga acceso a este DispatcherObject.

(Heredado de DispatcherObject)
WritePostscript()

Genera el Changed evento para e Freezable invoca su OnChanged() método . Las clases que derivan de Freezable deben llamar a este método al final de cualquier API que modifique los miembros de clase que no se almacenan como propiedades de dependencia.

(Heredado de Freezable)
WritePreamble()

Comprueba que Freezable no está inmovilizado y que se accede a él desde un contexto de subproceso válido. Freezable Los heredares deben llamar a este método al principio de cualquier API que escriba en miembros de datos que no sean propiedades de dependencia.

(Heredado de Freezable)

Eventos

Nombre Description
Changed

Se produce cuando se modifica o Freezable un objeto que contiene.

(Heredado de Freezable)

Se aplica a

Consulte también