Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original

KeyBinding (Clase)

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

Espacio de nombres:  System.Windows.Input
Ensamblado:  PresentationCore (en PresentationCore.dll)
XMLNS para XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

public class KeyBinding : InputBinding

El tipo KeyBinding expone los siguientes miembros.

  NombreDescripción
Método públicoKeyBinding()Inicializa una nueva instancia de la clase KeyBinding.
Método públicoKeyBinding(ICommand, KeyGesture)Inicializa una nueva instancia de la clase KeyBinding utilizando los objetos ICommand y KeyGesture especificados.
Método públicoKeyBinding(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.
Arriba

  NombreDescripción
Propiedad públicaCanFreezeObtiene un valor que indica si el objeto se puede convertir en no modificable. (Se hereda de Freezable).
Propiedad públicaCommandObtiene o establece la interfaz ICommand asociada a este enlace de entrada. (Se hereda de InputBinding).
Propiedad públicaCommandParameterObtiene o establece los datos específicos de un comando concreto. (Se hereda de InputBinding).
Propiedad públicaCommandTargetObtiene o establece el elemento de destino del comando. (Se hereda de InputBinding).
Propiedad públicaDependencyObjectTypeObtiene el objeto DependencyObjectType que ajusta el tipo CLR de esta instancia.  (Se hereda de DependencyObject).
Propiedad públicaDispatcherObtiene el objeto Dispatcher al que está asociado DispatcherObject. (Se hereda de DispatcherObject).
Propiedad públicaGestureObtiene o establece el movimiento asociado a este objeto KeyBinding. (Invalida a InputBinding.Gesture).
Propiedad públicaIsFrozenObtiene un valor que indica si el objeto es modificable actualmente. (Se hereda de Freezable).
Propiedad públicaIsSealedObtiene un valor que indica si esta instancia está actualmente sellada (es de solo lectura). (Se hereda de DependencyObject).
Propiedad públicaKeyObtiene o establece el objeto Key del KeyGesture asociado a este KeyBinding.
Propiedad públicaModifiersObtiene o establece el objeto ModifierKeys del KeyGesture asociado a este KeyBinding.
Arriba

  NombreDescripción
Método públicoCheckAccessDetermina si el subproceso de la llamada tiene acceso a DispatcherObject. (Se hereda de DispatcherObject).
Método públicoClearValue(DependencyProperty)Borra el valor local de una propiedad. La propiedad que se va a borrar se especifica mediante un identificador de DependencyProperty. (Se hereda de DependencyObject).
Método públicoClearValue(DependencyPropertyKey)Borra el valor local de una propiedad de sólo lectura. DependencyPropertyKey especifica la propiedad que se va a borrar. (Se hereda de DependencyObject).
Método públicoCloneCrea un clon modificable del objeto Freezable y hace copias en profundidad de sus valores. Al copiar las propiedades de dependencia del objeto, este método copia las expresiones (que puede que ya no se resuelvan) pero no las animaciones ni sus valores actuales. (Se hereda de Freezable).
Método protegidoCloneCoreCopia los valores base (sin animaciones) de las propiedades del objeto especificado. (Se hereda de InputBinding).
Método públicoCloneCurrentValueCrea un clon modificable (copia en profundidad) de Freezable con sus valores actuales. (Se hereda de Freezable).
Método protegidoCloneCurrentValueCoreCopia los valores actuales de las propiedades del objeto especificado. (Se hereda de InputBinding).
Método públicoCoerceValueConvierte el valor de la propiedad de dependencia especificada. Esto se logra invocando cualquier función de CoerceValueCallback especificada en los metadatos de la propiedad de dependencia cuando existe en el objeto DependencyObject de llamada. (Se hereda de DependencyObject).
Método protegidoCreateInstanceInicializa una nueva instancia de la clase Freezable. (Se hereda de Freezable).
Método protegidoCreateInstanceCoreCrea una instancia de KeyBinding. (Invalida a InputBinding.CreateInstanceCore()).
Método públicoEqualsDetermina si un objeto DependencyObject proporcionado es equivalente al objeto DependencyObject actual. (Se hereda de DependencyObject).
Método protegidoFinalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método públicoFreeze()Convierte el objeto actual en no modificable y establece su propiedad IsFrozen en true. (Se hereda de Freezable).
Método protegidoFreezeCoreConvierte el objeto Freezable en no modificable o prueba si se puede convertir en no modificable. (Se hereda de Freezable).
Método públicoGetAsFrozenCrea una copia inmovilizada de Freezable, con los valores de la propiedad base (no animada). Puesto que se inmoviliza la copia, se copia cualquier subobjeto inmovilizado por referencia. (Se hereda de Freezable).
Método protegidoGetAsFrozenCoreConvierte la instancia en un clon inmovilizado del objeto Freezable especificado mediante los valores base de la propiedad (sin animaciones). (Se hereda de InputBinding).
Método públicoGetCurrentValueAsFrozenCrea una copia inmovilizada de Freezable con los valores de propiedad actuales. Puesto que se inmoviliza la copia, se copia cualquier subobjeto inmovilizado por referencia. (Se hereda de Freezable).
Método protegidoGetCurrentValueAsFrozenCoreConvierte la instancia actual en un clon inmovilizado de la clase Freezable especificada. Si el objeto tiene propiedades de dependencia animadas, se copian sus valores animados actuales. (Se hereda de InputBinding).
Método públicoGetHashCodeObtiene un código hash de este objeto DependencyObject. (Se hereda de DependencyObject).
Método públicoGetLocalValueEnumeratorCrea un enumerador especializado para determinar qué propiedades de dependencia han establecido localmente los valores en DependencyObject. (Se hereda de DependencyObject).
Método públicoGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método públicoGetValueDevuelve el valor efectivo actual de una propiedad de dependencia en esta instancia de DependencyObject. (Se hereda de DependencyObject).
Método públicoInvalidatePropertyVuelve a evaluar el valor efectivo para la propiedad de dependencia especificada. (Se hereda de DependencyObject).
Método protegidoMemberwiseClone Crea una copia superficial del Object actual. (Se hereda de Object).
Método protegidoOnChangedSe llama cuando se modifica el objeto Freezable actual. (Se hereda de Freezable).
Método protegidoOnFreezablePropertyChanged(DependencyObject, DependencyObject)Se asegura de que se establecen los punteros contextuales adecuados para un miembro de datos DependencyObjectType que se acaba de establecer. (Se hereda de Freezable).
Método protegidoOnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)Este miembro admite la infraestructura de Windows Presentation Foundation (WPF) y no se debe usar directamente desde el código. (Se hereda de Freezable).
Método protegidoOnPropertyChangedInvalida la implementación de DependencyObject de OnPropertyChanged para invocar también cualquier controlador Changed como respuesta a un cambio de propiedad de dependencia de tipo Freezable. (Se hereda de Freezable).
Método públicoReadLocalValueDevuelve el valor local de una propiedad de dependencia, si existe. (Se hereda de DependencyObject).
Método protegidoReadPreambleSe 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 lean miembros de datos que no son propiedades de dependencia. (Se hereda de Freezable).
Método públicoSetCurrentValueEstablece el valor de una propiedad de dependencia sin cambiar el origen de su valor. (Se hereda de DependencyObject).
Método públicoSetValue(DependencyProperty, Object)Establece el valor local de una propiedad de dependencia, especificado por su identificador de propiedad de dependencia. (Se hereda de DependencyObject).
Método públicoSetValue(DependencyPropertyKey, Object)Establece el valor local de una propiedad de dependencia de sólo lectura, especificado por el identificador DependencyPropertyKey de la propiedad de dependencia. (Se hereda de DependencyObject).
Método protegidoShouldSerializePropertyDevuelve un valor que indica si los procesos de serialización deben serializar el valor de la propiedad de dependencia proporcionada. (Se hereda de DependencyObject).
Método públicoToString Retorna una cadena que representa al objeto actual. (Se hereda de Object).
Método públicoVerifyAccessExige que el subproceso de la llamada tenga acceso a DispatcherObject. (Se hereda de DispatcherObject).
Método protegidoWritePostscriptProvoca el evento Changed de Freezable e invoca su método OnChanged. Las clases que se derivan de Freezable deben llamar a este método al final de cualquier API que modifique miembros de clase que no se almacenen como propiedades de dependencia. (Se hereda de Freezable).
Método protegidoWritePreambleComprueba 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 cualquier API que escriba en miembros de datos que no sean propiedades de dependencia. (Se hereda de Freezable).
Arriba

  NombreDescripción
Evento públicoChangedSe produce cuando se modifican la clase Freezable o un objeto que la contiene. (Se hereda de Freezable).
Arriba

  NombreDescripción
Campo públicoMiembro estáticoKeyPropertyIdentifica la propiedad de dependencia Key.
Campo públicoMiembro estáticoModifiersPropertyIdentifica la propiedad de dependencia Modifiers.
Arriba

KeyBinding asocia KeyGesture con ICommand, como RoutedCommand. RoutedCommand es la implementación primaria de la interfaz ICommand para el sistema de comandos WPF. En general, cuando se ejecuta KeyGesture, se invoca el comando, aunque hay otros factores específicos del comando, como el valor de CanExecute, que influyen aún más en el comportamiento del comando. Para obtener más información sobre los comandos, vea Información general sobre comandos.

A excepción de las teclas de función y de las teclas del teclado numérico, un KeyGesture válido debe contener exactamente un objeto Key y uno o varios objetos ModifierKeys. Las teclas de función y las teclas del teclado numérico no requieren una tecla modificadora para poder ser un KeyGesture válido. Es posible de especificar un KeyGesture no válido y un KeyBinding con un movimiento asociado no válido, ya sea a través de XAML o a través de código. Por ejemplo, no existe ninguna validación que impida la creación y enlace de un KeyGesture que sólo contenga una tecla sin función, o sólo modificadores pero ninguna tecla. Un KeyBinding de este tipo no intentará nunca invocar a su comando asociado.

Al definir KeyBinding en Extensible Application Markup Language (XAML), existen dos formas de especificar KeyGesture. La primera forma de establecer KeyBinding en XAML consiste en definir el atributo Gesture del elemento KeyBinding, que permite que una sintaxis especifique teclas y modificadores como una cadena única; por ejemplo "CTRL+P". La segunda forma consiste en definir el atributo Key y los atributos Modifiers del elemento KeyBinding. Las dos formas de establecer el valor de KeyGesture son equivalentes y modifican el mismo objeto subyacente, pero se producirá un conflicto si se usan ambas. Cuando se establezcan todos los atributos Key, Modifiers y Gesture, se usará el atributo que se haya definido en último lugar para KeyGesture. Posiblemente, se encuentre en situaciones en la que, por ejemplo, un conjunto de Key invalidará sólo el componente Key del componente Gesture anterior, pero no cambiará los modificadores de Gesture. En general, se recomienda usar únicamente el atributo Gesture de XAML; de este modo, se evitan ambigüedades, se optimiza la sintaxis y se proporciona la representación más sencilla para la serialización.

Se puede definir un enlace KeyBinding en un objeto concreto o en el nivel de clase registrando un método RegisterClassInputBinding en la clase CommandManager. La forma más habitual de definir KeyBinding es dentro de la plantilla de control, estableciendo la propiedad InputBindings en XAML mediante la declaración de uno o más elementos MouseBinding o KeyBinding.

En el ejemplo siguiente se crea KeyBinding y se agrega a la colección InputBindingCollection 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
			Dim OpenCmdKeyBinding As New KeyBinding(ApplicationCommands.Open, Key.R, ModifierKeys.Control)

			Me.InputBindings.Add(OpenCmdKeyBinding)



// Creating a KeyBinding between the Open command and Ctrl-R
KeyBinding OpenCmdKeyBinding = new KeyBinding(
    ApplicationCommands.Open, 
    Key.R, 
    ModifierKeys.Control);

this.InputBindings.Add(OpenCmdKeyBinding);


.NET Framework

Compatible con: 4, 3.5, 3.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft