私はこれを理解することはできません。MVVMでViewModelsでCommandingを使用する理由は何ですか?
は時々、しかし、ビューはViewModelにで さまざまなアクションをトリガーするボタンが含まれている必要があります。 しかし、それは特定のユーザー・インタフェース・パラダイムにViewModelに を結ぶなるためのViewModelはボタンの のClickedハンドラを含めることはできません。
指揮の理由は何ですか?
私はこれを理解することはできません。MVVMでViewModelsでCommandingを使用する理由は何ですか?
は時々、しかし、ビューはViewModelにで さまざまなアクションをトリガーするボタンが含まれている必要があります。 しかし、それは特定のユーザー・インタフェース・パラダイムにViewModelに を結ぶなるためのViewModelはボタンの のClickedハンドラを含めることはできません。
指揮の理由は何ですか?
のClickedハンドラは、一般的にコントロールによって作成されたイベントです。ハンドラは実際に使用するコントロールに固有のものです。たとえば、特定のイベントハンドラとイベントを使用して独自のユーザーコントロールを作成することができます。
問題はあなたのビューの実装を使用してビューモデルを区切るしたいということです。ビューに強制的にコントロールを使用させたくない場合は、List
またはObservableCollection
をListView
、ListBox
、DataGrid
などで表示できます。つまり、クリックハンドラまたはハンドラを使用すると、ビューの使用や返却が強制されますこれらのハンドラー。 ビューとビューモデルの間の依存関係はです。
その結果、我々は代わりに指揮を使用しています。ほとんどのコントロールでは、状況が発生したとき(クリック、ドラッグ、ドロップなど)にコマンドを使用してコマンドイベントを送信できるため、この依存関係は削除されます。
私は私自身の経験から、あなたに実用的な答えを与えるためにしようとするでしょう:
この理由のごく短い例は、 'ButtonLogicOperation_OnClick(object sender、RoutedEventArgs e)'の 'LogicOperation()'メソッドのインスタンスをあなたのビューモデル。 – Sam