[解決済み] WPF - CommandBindingsを使用してCanExecuteの再評価を強制する方法
2022-06-26 08:23:26
質問
私は
Menu
があり、それぞれの
MenuItem
は、階層内の
Command
プロパティに
RoutedCommand
と定義しました。 関連する
CommandBinding
の評価に対するコールバックを提供します。
CanExecute
を評価するコールバックを提供し、各
MenuItem
.
これは
はほとんど
が動作します。 メニュー項目は最初、正しい有効および無効の状態で表示されます。 しかし、私の
CanExecute
コールバックが使用するデータが変更されると、この新しい状態を UI に反映させるために、コマンドでコールバックから結果を再要求する必要があります。
にはパブリックメソッドはないようです。
RoutedCommand
または
CommandBinding
を使用します。
コントロールにクリックまたは入力すると、コールバックが再び使用されることに注意してください(マウスオーバーでは更新されないので、入力時にトリガーされるのだと思います)。
どのように解決するのですか?
本で一番きれいな方法ではないですが、CommandManagerを使用してすべてのコマンドバインディングを無効にすることができます。
CommandManager.InvalidateRequerySuggested();
より詳しい情報は MSDN
関連
-
[解決済み] msiexec を使用せずにコマンドラインから MSI ファイルをアンインストールする
-
[解決済み] フレームワークとアーキテクチャの違いは何ですか?[クローズド]
-
[解決済み] 'Newtonsoft.Json' には 'Microsoft.CSharp' の依存関係がすでに定義されています。
-
[解決済み] このコンピュータには、.NET Framework 4.6またはそれ以降の更新プログラムがすでにインストールされています。
-
[解決済み] .net の OOM 問題を解決する必要があります。
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] .NETアプリケーションを強制的に管理者として実行させるにはどうしたらいいですか?
-
[解決済み] RelativeSourceでWPFバインディングを使用するにはどうしたらいいですか?
-
[解決済み] WPFアプリケーションをプログラムで終了させるには?
-
[解決済み] WPFのStaticResourceとDynamicResourceの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】コンパイラーエラーメッセージ。コンパイラはエラーコード -532462766 で失敗しました。
-
[解決済み] アセンブリから型を読み込めなかったエラー
-
[解決済み] app.configのマッピングがないアセンブリのapp.configの再マッピングを考慮する。
-
[解決済み] COMExceptionエラー80040154を修復する方法は?
-
[解決済み] Microsoft.NETFrameworkとMicrosoft.NETFramework64の違いは何ですか?
-
[解決済み] DockPanelを空きスペースいっぱいに表示させる方法
-
[解決済み] .NETでのdecimal, float, doubleの違い?
-
[解決済み] 埋め込みリソーステキストファイルの読み方
-
[解決済み] MemoryStreamから文字列を取得する方法は?
-
[解決済み] Microsoft.ACE.OLEDB.12.0' プロバイダがローカルマシンに登録されていません。