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 a un RoutedCommand (u otra implementación de 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
- Herencia
- Herencia
Ejemplos
En el ejemplo siguiente se crea un KeyBinding objeto y se agrega a de InputBindingCollection 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
KeyBinding un objeto asocia un KeyGesture objeto a , ICommandcomo .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 influenciado por factores específicos del comando, como el CanExecute valor. Para obtener más información sobre los comandos, consulte Información general sobre comandos.
Con la excepción de las claves de función y las claves numéricas del teclado, un válido KeyGesture debe contener exactamente uno Key y uno o varios ModifierKeys. Las teclas 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 KeyBinding con un 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 que contenga solo una clave no funcional, o solo modificadores, pero ninguna clave. Este tipo KeyBinding nunca intentará invocar su comando asociado.
Al definir en KeyBinding Lenguaje de marcado de aplicación extensible (XAML), hay dos maneras de especificar .KeyGesture La primera manera de establecer en KeyBinding 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 manera 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 KeyGesture atributos , Modifiersy , el atributo definido por última vez se usará para .KeyGesture Puede tener situaciones en las que, por ejemplo, un Key conjunto se 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á ambigüedad, proporciona la sintaxis más simplificada y proporciona la representación más sencilla para la serialización.
Un KeyBinding objeto se puede definir en un objeto específico o en el nivel de clase mediante el registro de en RegisterClassInputBinding 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 o KeyBinding .
Constructores
KeyBinding() |
Inicializa una nueva instancia de la clase KeyBinding. |
KeyBinding(ICommand, Key, ModifierKeys) |
Inicializa una nueva instancia de la clase KeyBinding mediante el objeto ICommand especificado y los objetos Key y ModifierKeys especificados, que se convertirán en un KeyGesture. |
KeyBinding(ICommand, KeyGesture) |
Inicializa una nueva instancia de la clase KeyBinding utilizando los objetos ICommand y KeyGesture especificados. |
Campos
KeyProperty |
Identifica la propiedad de dependencia Key. |
ModifiersProperty |
Identifica la propiedad de dependencia Modifiers. |
Propiedades
CanFreeze |
Obtiene un valor que indica si el objeto se puede convertir en 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 de un comando concreto. (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 Dispatcher al que está asociado DispatcherObject. (Heredado de DispatcherObject) |
Gesture |
Obtiene o establece el gesto asociado a este KeyBinding. |
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 (es de solo lectura). (Heredado de DependencyObject) |
Key |
Obtiene o establece el objeto Key del KeyGesture asociado a este KeyBinding. |
Modifiers |
Obtiene o establece el objeto ModifierKeys del KeyGesture asociado a este KeyBinding. |
Métodos
CheckAccess() |
Determina si el subproceso de la llamada tiene acceso a DispatcherObject. (Heredado de DispatcherObject) |
ClearValue(DependencyProperty) |
Borra el valor local de una propiedad. La propiedad que se va a borrar se especifica mediante un identificador DependencyProperty. (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 un DependencyPropertyKey. (Heredado de DependencyObject) |
Clone() |
Crea un clon modificable del elemento Freezable y hace copias en profundidad de los valores del objeto. Cuando se copian las propiedades de dependencia del objeto, este método copia las expresiones (que puede que ya no se resuelvan), pero no copia las animaciones ni sus valores actuales. (Heredado de Freezable) |
CloneCore(Freezable) |
Copia los valores base (sin animaciones) de las propiedades del objeto especificado. (Heredado de InputBinding) |
CloneCurrentValue() |
Crea un clon modificable (copia en profundidad) de Freezable con sus valores actuales. (Heredado de Freezable) |
CloneCurrentValueCore(Freezable) |
Copia los valores actuales de las propiedades del objeto especificado. (Heredado de InputBinding) |
CoerceValue(DependencyProperty) |
Convierte el valor de la propiedad de dependencia especificada. Esto se logra invocando cualquier función CoerceValueCallback especificada en los metadatos de la propiedad de dependencia tal como existe en la clase DependencyObject que llama. (Heredado de DependencyObject) |
CreateInstance() |
Inicializa una nueva instancia de la clase Freezable. (Heredado de Freezable) |
CreateInstanceCore() |
Crea una instancia de KeyBinding. |
CreateInstanceCore() |
Crea una instancia de un objeto InputBinding. (Heredado de InputBinding) |
Equals(Object) |
Determina si un objeto DependencyObject proporcionado es equivalente al objeto DependencyObject actual. (Heredado de DependencyObject) |
Freeze() |
Convierte el objeto actual en no modificable y establece su propiedad IsFrozen en |
FreezeCore(Boolean) |
Convierte el objeto Freezable en no modificable o prueba si se puede convertir en no modificable. (Heredado de Freezable) |
GetAsFrozen() |
Crea una copia inmovilizada de Freezable, con los valores de propiedades base (no animadas). Puesto que se inmoviliza la copia, se copia cualquier subobjeto inmovilizado por referencia. (Heredado de Freezable) |
GetAsFrozenCore(Freezable) |
Convierte la instancia en un clon inmovilizado del objeto Freezable especificado mediante los valores base de propiedades (sin animaciones). (Heredado de InputBinding) |
GetCurrentValueAsFrozen() |
Crea una copia inmovilizada de Freezable con los valores de propiedad actuales. Puesto que se inmoviliza la copia, se copia cualquier subobjeto inmovilizado por referencia. (Heredado de Freezable) |
GetCurrentValueAsFrozenCore(Freezable) |
Convierte la instancia actual en un clon inmovilizado del valor de Freezable especificado. Si el objeto tiene propiedades de dependencia animadas, se copian sus valores animados actuales. (Heredado de InputBinding) |
GetHashCode() |
Obtiene un código hash de este objeto DependencyObject. (Heredado de DependencyObject) |
GetLocalValueEnumerator() |
Crea un enumerador especializado para determinar qué propiedades de dependencia han establecido localmente los valores en 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 un DependencyObject. (Heredado de DependencyObject) |
InvalidateProperty(DependencyProperty) |
Vuelve a evaluar el valor efectivo para la propiedad de dependencia especificada. (Heredado de DependencyObject) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
OnChanged() |
Se le llama cuando el objeto Freezable actual se modifica. (Heredado de Freezable) |
OnFreezablePropertyChanged(DependencyObject, DependencyObject) |
Se asegura de que se establecen los punteros contextuales adecuados para un miembro de datos DependencyObjectType que se acaba de establecer. (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) |
OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Se invoca cuando se actualiza el valor efectivo de alguna propiedad de dependencia en este DependencyObject. La propiedad de dependencia específica que cambió se notifica en los datos de evento. (Heredado de DependencyObject) |
OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Reemplaza la implementación DependencyObject de OnPropertyChanged(DependencyPropertyChangedEventArgs) para invocar también cualquier controlador Changed 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() |
Se asegura de que se tiene acceso a Freezable desde un subproceso válido. Los herederos de Freezable deben llamar a este método al inicio de las API que leen miembros de datos que no son propiedades de dependencia. (Heredado de Freezable) |
SetCurrentValue(DependencyProperty, Object) |
Establece el valor de una propiedad de dependencia sin cambiar el origen del valor. (Heredado de DependencyObject) |
SetValue(DependencyProperty, Object) |
Establece el valor local de una propiedad de dependencia, especificado mediante el identificador de la propiedad de dependencia. (Heredado de DependencyObject) |
SetValue(DependencyPropertyKey, Object) |
Establece el valor local de una propiedad de dependencia de solo lectura, especificado por el identificador DependencyPropertyKey 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 especificada. (Heredado de DependencyObject) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
VerifyAccess() |
Exige que el subproceso de la llamada tenga acceso a DispatcherObject. (Heredado de DispatcherObject) |
WritePostscript() |
Genera el evento Changed para Freezable e invoca su método OnChanged(). Las clases que derivan de Freezable deben llamar a este método al final de cualquier API que modifique miembros de clase que no estén almacenados como propiedades de dependencia. (Heredado de Freezable) |
WritePreamble() |
Comprueba que no se inmovilice Freezable y que se tiene acceso desde un contexto de subproceso válido. Los herederos de Freezable deben llamar a este método al inicio de las API que escriben en miembros de datos que no son propiedades de dependencia. (Heredado de Freezable) |
Eventos
Changed |
Se produce cuando se modifican la clase Freezable o un objeto que la contiene. (Heredado de Freezable) |