Поделиться через


KeyGesture Класс

Определение

Определяет сочетание клавиш, которое может использоваться для вызова команды.

public ref class KeyGesture : System::Windows::Input::InputGesture
[System.ComponentModel.TypeConverter(typeof(System.Windows.Input.KeyGestureConverter))]
public class KeyGesture : System.Windows.Input.InputGesture
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Input.KeyGestureConverter))>]
type KeyGesture = class
    inherit InputGesture
Public Class KeyGesture
Inherits InputGesture
Наследование
KeyGesture
Атрибуты

Примеры

В следующем примере показано, как привязать Close команду к с KeyGesture помощью KeyBinding.

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

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

this.InputBindings.Add(CloseKeyBinding);
Dim CloseCmdKeyGesture As New KeyGesture(Key.L, ModifierKeys.Alt)

Dim CloseKeyBinding As New KeyBinding(ApplicationCommands.Close, CloseCmdKeyGesture)

Me.InputBindings.Add(CloseKeyBinding)

В следующем примере показано, как использовать KeyGesture в XAML. Обратите внимание, что использование XAML не объявляет элемент напрямую <KeyGesture> . Использование этого элемента объекта невозможно, так как KeyGesture не предоставляет открытый конструктор без параметров. Вместо этого использование XAML использует поведение typeconverter для объявления целого KeyGesture встроенного значения в качестве значения атрибута Gesture .

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

Комментарии

В большинстве случаев KeyGesture объект должен быть связан с одним или несколькими ModifierKeys. Исключениями из этого правила являются функциональные ключи и числовые клавиши клавиатуры, которые могут быть допустимыми KeyGesture сами по себе. Например, можно создать KeyGesture с помощью только клавиши F12, но для использования ключа X в KeyGesture объекте необходимо связать его с ключом-модификатором.

Можно использовать KeyBinding для привязки KeyGesture к ICommand, чтобы команда вызывалась при возникновении KeyGesture .

Для KeyGesture использования XAML свойство, обычно заданное в XAML, равно , в Gestureслучаях, когда жест представляет как стандартный ключ, так и ключ модификатора. Вы также можете задать Gesture для свойства только ключ функции или просто сочетание клавиш-модификаторов. Однако чаще всего свойство устанавливается Key , если предполагаемая привязка команды является функциональным ключом без модификаторов или Modifiers если предполагаемая привязка команды предназначена только для ключей модификаторов.

Использование атрибута XAML

<object property="oneOrMoreModifierKeys+key"/>  
- or -  
<object property="functionKey"/>  

Значения XAML

functionKey
Key

Одно значение ключа, которое должно быть одним из функциональных ключей (F1–12) или числовыми клавишами клавиатуры.

oneOrMoreModifierKeys
Один или несколько ключей-модификаторов, определенных ModifierKeys перечислением, разделенных символом "+".

key
Key

Значение одного ключа.

Конструкторы

KeyGesture(Key)

Инициализирует новый экземпляр класса KeyGesture указанным значением Key.

KeyGesture(Key, ModifierKeys)

Инициализирует новый экземпляр класса KeyGesture с заданными свойствами Key и ModifierKeys.

KeyGesture(Key, ModifierKeys, String)

Инициализирует новый экземпляр класса KeyGesture заданными Key, ModifierKeys и отображаемой строкой.

Свойства

DisplayString

Получает строковое представление данного KeyGesture.

Key

Получает клавишу, связанную с данным KeyGesture,.

Modifiers

Клавиши CTRL, SHIFT или ALT, связанные с данным KeyGesture.

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetDisplayStringForCulture(CultureInfo)

Возвращает строку, которая может использоваться для отображения KeyGesture.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
Matches(Object, InputEventArgs)

Определяет, соответствует ли данный KeyGesture вводу, связанному с заданным объектом InputEventArgs.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к

См. также раздел