我的MainWindow有一些KeyBindings:

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


只要我在“窗口”的内容中单击某个位置,它们就可以正常工作。但是,如果我使用Alt + Tab在应用程序(例如MS Word和我的应用程序)之间切换,则快捷方式将不再起作用,直到我再次单击视图中的某个位置。通过边框上的鼠标选择“应用程序窗口”时相同。

如何使它们工作?

最佳答案

在我的复制程序中,我使用了RelayCommand中的MVVM Light,效果很好。我猜您正在使用其他东西。尝试在窗口中添加以下代码:

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


这告诉命令框架某些更改,应该重新评估每个命令的CanExecute状态。

09-16 21:16