我有一个ICommand属性,看起来像这样:

private ICommand autoHideCommand;
public ICommand AutoHideCommand
{
   get { return autoHideCommand; }
   set
   {
      if (!object.Equals(autoHideCommand, value))
      {
         autoHideCommand = value;
         OnPropertyChanged("AutoHideCommand");
      }
   }
}


该命令下的实际类可以在here中找到。这是一个相当基本的ICommand实现。

我真的很想在此命令中添加一些键盘输入绑定。但是实际的实现不支持它,ICommand也不支持。

有人在这种情况下如何添加键盘绑定的示例吗? (有可能吗?)

注意:我需要在C#代码(不是XAML)中执行此操作。那是因为我的窗口是动态生成的。

最佳答案

命令实现不需要知道它叫什么(按钮或键盘快捷键等)。

创建Window时,需要创建一个CommandBinding并将其添加到窗口的CommandBindings中。这会将键盘快捷键路由到您的ICommand

10-08 14:06