ViewModelによって公開されているRelayCommandというMVVMのアイデアが好きです。それ以上のユーザー入力なしで実行できる操作のために、それは素晴らしく洗練されています。シンプル。テスト可能。MVVMとより多くのGUIを表示するコマンド
ただし、すべての操作がUIレスではありません。確認が必要なものがあります( "本当に削除しますか?")。その他の情報は、まだ多くの情報が必要です。ファイルを開くと、[ファイルを開く]ダイアログから完全なインポートウィザードまでの間に何かが発生する可能性があります。
MVVMアプリケーション内で、ユーザーの入力が必要なコマンドを書き込むには、どのような方法が最適ですか?何らかの形で依存性注入でこれを解決するための確立されたパターンがありますか?コードビハインドにKeyDownハンドラを記述し、明示的にイベントを実行する必要がありますか?私はRoutedUICommandに戻って、すべての "次のGUIを表示する"コードを私のビューに置くべきですか?または、私が完全に欠けていることが明らかな何かがありますか?
「表示するダイアログを表示」の部分は再利用可能です。しかし、あなたはそのファイルで何かをする必要があります、そして、それはアプリケーション特有になるでしょう、従って、私はこれがどのように動作するか確かではありません。あなたは行動でこれをどうやって行うのかの例を挙げられますか? –
@ joe-whiteキャッチしてViewModelに中継するUIスタックの上にルーティングされたメッセージを送信します。または、ViewModelのプロパティにバインドすると、プロパティが変更されたときにファイルが割り当てられることがわかります。 –