System.Windows.Input.Key: квадратные скобки в xaml? - PullRequest
1 голос
/ 15 апреля 2011

Используя XAML, я хочу объявить привязку клавиш с помощью Modifiers = "Control" и Key = "[". Символ '[' не является частью перечисления System.Windows.Input.Key. Как я могу объявить эту связку ключей в XAML?

1 Ответ

3 голосов
/ 15 апреля 2011

Key.OemOpenBrackets & Key.OemCloseBrackets

Только что проверил это с помощью:

<Window.CommandBindings>
    <CommandBinding Command="Help" Executed="Help_Executed" CanExecute="Help_CanExecute"/>
</Window.CommandBindings>
<Window.InputBindings>
    <KeyBinding Key="OemOpenBrackets" Command="Help" Modifiers="Control"/>
</Window.InputBindings>
private void Help_Executed(object sender, ExecutedRoutedEventArgs e)
{
    MessageBox.Show("!");
}

private void Help_CanExecute(object sender, CanExecuteRoutedEventArgs e)
{
    e.CanExecute = true;
}

Работает для меня с модификатором или без него, возможно, элемент управления, для которого вы объявили привязку, находится вне фокуса. Другой причиной может быть раскладка клавиатуры, но я не уверен, как решаются клавиши.

...