Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés
Esta documentación está archivada y no tiene mantenimiento.

KeyGesture (Clase)

Define una combinación de teclas que se puede utilizar para invocar un comando.

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

[TypeConverterAttribute(typeof(KeyGestureConverter))]
public class KeyGesture : InputGesture
<object property="oneOrMoreModifierKeys+key"/>
- or -
<object property="functionKey"/>

Valores XAML

functionKey

Key

Valor de una sola tecla, que debe ser una de las teclas de función (F1-12) o una de las teclas del teclado numérico.

oneOrMoreModifierKeys

Una o varias teclas modificadoras, definidas por la enumeración ModifierKeys y delimitadas con un carácter "+".

key

Key

Valor de una sola tecla.

El tipo KeyGesture expone los siguientes miembros.

  NombreDescripción
Método públicoKeyGesture(Key)Inicializa una nueva instancia de la clase KeyGesture con el valor de Key especificado.
Método públicoKeyGesture(Key, ModifierKeys)Inicializa una nueva instancia de la clase KeyGesture con los valores de Key y ModifierKeys que se hayan especificado.
Método públicoKeyGesture(Key, ModifierKeys, String)Inicializa una nueva instancia de la clase KeyGesture con los valores de Key, ModifierKeys y la cadena de presentación especificados.
Arriba

  NombreDescripción
Propiedad públicaDisplayStringObtiene una representación en forma de cadena de este objeto KeyGesture.
Propiedad públicaKeyObtiene la tecla asociada a este objeto KeyGesture.
Propiedad públicaModifiersObtiene las teclas modificadoras asociadas a este objeto KeyGesture.
Arriba

  NombreDescripción
Método públicoEquals(Object)Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object).
Método protegidoFinalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por el recolector de basura. (Se hereda de Object).
Método públicoGetDisplayStringForCultureDevuelve una cadena que se puede utilizar para mostrar el objeto KeyGesture.
Método públicoGetHashCodeActúa como función hash para un tipo concreto. (Se hereda de Object).
Método públicoGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método públicoMatchesDetermina si este objeto KeyGesture coincide con la entrada asociada al objeto InputEventArgs especificado. (Invalida a InputGesture.Matches(Object, InputEventArgs)).
Método protegidoMemberwiseClone Crea una copia superficial del Object actual. (Se hereda de Object).
Método públicoToString Devuelve una cadena que representa al objeto actual. (Se hereda de Object).
Arriba

En la mayoría de los casos, KeyGesture debe asociarse a una o varias teclas ModifierKeys. Las excepciones a esta regla son las teclas de función y las del teclado numérico, que pueden constituir un objeto KeyGesture válido por sí mismas. Por ejemplo, puede crear un objeto KeyGesture utilizando sólo la tecla F12, pero para utilizar la tecla X en KeyGesture es preciso combinarla con una tecla modificadora.

En general, puede

utilizar KeyBinding para enlazar KeyGesture a ICommand, de modo que se invoque el comando cuando se produzca KeyGesture.

Para el uso de KeyGesture en XAML, la propiedad que generalmente se establece en XAML es Gesture cuando el movimiento representa una tecla estándar y una tecla modificadora. También puede establecer la propiedad Gesture para que sea simplemente una tecla de función o una combinación de teclas modificadoras. Sin embargo, se suele establecer la propiedad Key si el enlace de comandos es una tecla de función sin modificadores, o bien, Modifiers si el enlace de comandos sólo es para teclas modificadoras.

En el ejemplo siguiente se muestra cómo enlazar el comando Close a KeyGesture utilizando KeyBinding.


KeyGesture CloseCmdKeyGesture = new KeyGesture(
    Key.L, ModifierKeys.Alt);

KeyBinding CloseKeyBinding = new KeyBinding(
    ApplicationCommands.Close, CloseCmdKeyGesture);

this.InputBindings.Add(CloseKeyBinding);


En el siguiente ejemplo se muestra cómo utilizar KeyGesture en XAML. Observe que el uso de XAML no declara directamente un elemento <KeyGesture>. El uso de ese elemento de objeto no es posible porque KeyGesture no expone un constructor predeterminado público. En XAML se utiliza el comportamiento del convertidor de tipos para declarar todo un KeyGesture insertado como el valor de atributo Gesture.


<Window.InputBindings>
  <KeyBinding Command="ApplicationCommands.Open"
              Gesture="CTRL+R" />
</Window.InputBindings>


.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.
Mostrar: