3

我的 MainWindow 有一些 KeyBindings:

<Window.InputBindings>
   <KeyBinding Command="{Binding NewFileCommand}" Key="{Binding NewFileCommand.Key}" Modifiers="{Binding NewFileCommand.Modifiers}"  />
</Window.InputBindings>

他们正在工作,只要我点击某个窗口的内容。但是,如果我使用 Alt+Tab 在应用程序之间切换(比如说 MS Word 和我的应用程序),那么在我再次单击视图中的某个位置之前,快捷方式将不再起作用。通过鼠标在边框上选择应用程序窗口时相同。

我怎样才能让他们工作?

4

1 回答 1

0

在我的 repro 中,我使用了MVVM Light的RelayCommand,效果很好。我猜你正在使用别的东西。尝试在您的窗口中添加此代码:

private void Window_Activated(object sender, EventArgs e)
{
    System.Windows.Input.CommandManager.InvalidateRequerySuggested();
}

这告诉命令框架发生了一些变化,它应该重新评估每个命令的 CanExecute 状态。

于 2012-09-19T15:52:03.353 回答