Я пытаюсь выполнить сопоставление Ctrl + Shift + 0 с WPF 3.5sp1, но привязка не срабатывает.Я использую XAML:
<KeyBinding Gesture="Ctrl+Shift+D0" Command="Blah"/>
Я также пробовал:
<KeyBinding Key="D0" Modifiers="Ctrl+Shift" Command="Blah" />
и многие другие комбинации, ни одна из которых не работает.Gesture = "Ctrl + D0" прекрасно работает, или "Ctrl + Shift + OemPlus" и т. Д., Поэтому я не думаю, что мой синтаксис является проблемой.Я посмотрел на перечисление Key и попытался определить, переназначается ли Shift-D0 во что-то вроде «OemParen», но у меня ничего не выскакивает.
Я даже поместил обработчик PreviewKeyDown в свое окнои я никогда не вижу KeyEvent, где Key == D0 и Keyboard.ModifierKeys == Shift + Ctrl !На самом деле, клавиша D0 вообще не появляется, когда я удерживаю Ctrl + Shift .
public MainWindow()
{
InitializeComponent();
this.PreviewKeyDown += MainWindow_PreviewKeyDown;
}
void MainWindow_PreviewKeyDown(object sender, KeyEventArgs e)
{
if ((Keyboard.Modifiers & ModifierKeys.Shift) != 0)
{
Trace.WriteLine("shift is down!");
}
Trace.WriteLine(string.Format("key: {0}, system key: {1}, modifiers {2}", e.Key, e.SystemKey, e.KeyStates));
}