我的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状态。