C# 用户控件内WPF上的键盘命令绑定

C# 用户控件内WPF上的键盘命令绑定,c#,wpf,events,C#,Wpf,Events,我正在尝试使用以下代码在WPF窗口上绑定键盘命令: RoutedCommand cmndSettings = new RoutedCommand(); cmndSettings.InputGestures.Add(new KeyGesture(Key.S, ModifierKeys.Alt)); CommandBindings.Add(new CommandBinding(cmndSettings, mnuSettings_Click)); private void mnuSe

我正在尝试使用以下代码在WPF窗口上绑定键盘命令:

  RoutedCommand cmndSettings = new RoutedCommand();
  cmndSettings.InputGestures.Add(new KeyGesture(Key.S, ModifierKeys.Alt));
  CommandBindings.Add(new CommandBinding(cmndSettings, mnuSettings_Click));

  private void mnuSettings_Click(object sender, ExecutedRoutedEventArgs e)
  {
      MessageBox.Show("key pressed");
  }

如果我将此代码放在xaml窗口的cs文件中,这将正常工作。但是,如果我将其放在用户控件的cs文件中(动态加载到父窗口中),则根本不会触发键盘事件我需要做什么才能让它在用户控件plz内工作?谢谢。

要在用户控件下使用控件,非常重要的是,容器/用户控件能够正确聚焦。否则,可能无法工作。

用户控件是否可聚焦?你检查过它是否真的有焦点吗?点击或加载时,尝试设置焦点。哦,是的。这就是问题所在。谢谢你弄明白了。