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
- Наследование
- Атрибуты
Примеры
В следующем примере показано, как привязать 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) |