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


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 для привязки к объекту KeyGestureICommand, чтобы команда вызывалась при возникновении.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, ModifierKeys, String)

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

KeyGesture(Key, ModifierKeys)

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

KeyGesture(Key)

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

Свойства

Имя Описание
DisplayString

Возвращает строковое представление этого KeyGestureобъекта.

Key

Возвращает ключ, связанный с этим KeyGesture.

Modifiers

Возвращает ключи модификатора, связанные с этим KeyGesture.

Методы

Имя Описание
Equals(Object)

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

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

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

GetHashCode()

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

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

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

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

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

MemberwiseClone()

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

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

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

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

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

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