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

时间:2013-01-09 11:13:58

标签: 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 mnuSettings_Click(object sender, ExecutedRoutedEventArgs e)
  {
      MessageBox.Show("key pressed");
  }

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

1 个答案:

答案 0 :(得分:0)

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