3

私の MainWindow にはいくつかの KeyBinding があります:

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

ウィンドウのコンテンツのどこかをクリックしている限り、それらは機能しています。しかし、Alt+Tab を使用してアプリケーション (たとえば、MS Word と自分のアプリ) を切り替えると、ビューのどこかをもう一度クリックするまでショートカットが機能しなくなります。ボーダー上でマウスを使用してアプリケーション ウィンドウを選択する場合も同様です。

それらを機能させるにはどうすればよいですか?

4

1 に答える 1

0

私の再現では、正常に機能するMVVM LightのRelayCommandを使用しまし。私はあなたが何か他のものを使用していると推測しています。ウィンドウに次のコードを追加してみてください。

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

これは、何かが変更されたことをコマンド フレームワークに伝え、各コマンドの CanExecute ステータスを再評価する必要があります。

于 2012-09-19T15:52:03.353 に答える