2010-12-19 3 views
0

私のビューは、ViewModelを介して公開されたドメインデータを持つウィンドウでホストされています。ウィンドウのOnClosingイベントハンドラをオーバーライドして、ドメインデータがリポジトリにコミットされているかどうかを判断します。ドメインデータがコミットされている場合、ウィンドウは閉じられ、これ以上の操作は必要ありません。ただし、データが汚れている場合は、MessageBoxが表示され、変更の保存、ウィンドウの閉じる操作のキャンセル、または変更の破棄をユーザーに促します。ユーザーがSaveMommandを保存することを選択した場合、ViewModelでSaveCommandを呼び出して変更をコミットするにはどうすればよいですか?ウィンドウを閉じる前にドメインデータをコミットする

答えて

0

ビューモデルを使用している場合は、保存コマンドはすでにビューモデル内にあるはずです。単に呼び出す必要があります。変更を保存するためのボタンが既に表示されていますか?リレーコマンドを使用している場合は、すでに使用しているのと同じcommandexecuteメソッドを呼び出すだけです。

+0

ViewModelは汎用ベースクラスを継承し、ビュー、モデル、およびリポジトリはコンストラクタに渡され、基本クラスジェネリックViewModelBaseが...このよう パブリック抽象クラスViewModelBase になります:コントロール M:IDomainObject R:IRepository 私は順番にViewModelBase へのDataContextをキャストする方法を必要とVのNotifier、IViewModel ビューとリポジトリの両方にアクセスします。 – HighDensityx

関連する問題