KeyBinding Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 |
| 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) |