をクリックします。 プリズムは使用していません。 は今、私はボタンがクリックされたときに無効/ UI上の特定のコントロールを非表示にします。を無効に複数のGUIコントロール私はUIのボタンにDelegateCommandsをバインド
は、私がDelegateCommand自体の実行ハンドラに無効化/非表示ロジックを配置する必要がありますか? ここでは特に焦点を当てています:背景ワーカースレッド。
this.MyCommand = new DelegateCommand(MyExecutehandler);
void MyExecutehandler(object obj){
// 1.) disable controls here
// 2.) long running operation on background worker here
// 3.) enable the controls again in the worker_completed handler?
}
コントロールは、MVVMで無効/有効になります。
提案。 BGワーカーの代わりに 'async await'を試してみてください。そして、私はdelegateコマンドの実行ハンドラでディスエーブルロジックを記述する際に間違ったことは見つけられません。 – ViVi
Hm、はい純粋なMVVMであれば、これもうまくいくはずです。私は純粋なMVVMでディスパッチャを利用できないためです。 – Legends
これは誤解です。純粋なMVVMでも 'Dispatcher'を使うことができます。 :) – ViVi