2016-10-14 10 views
0

私はCatel 4.3.0 frameworkを使用します。Catel interestedIn OnViewModelCommandExecuted実行されたコマンドを確認します

私は [InterestedIn(typeof(AddSupplierWindowViewModel))] と私のviewmodelsの1を装飾が施され、正しく

protected override void OnViewModelCommandExecuted(IViewModel viewModel, 
         ICatelCommand command, object commandParameter) 

このイベントが発生を追加しました。

AddSupplierWindowViewModel私は複数のコマンドがありますが、CmdAddSupplierだけがこのビューモデルに関係しています。

このコマンドが実行されているかどうかを確認したいのですが、テストする方法がわかりません。

command.Name == "CmdAddSupplier"のようなものがありますが、このようなものは見つかりません。

誰かがこれをテストする方法の例を提供できますか?

種類は、我々は以上1つのビューモデルにまたがるコマンドをホストするためにCommandContainersの代わりに、ビューモデルを使用することをお勧めしますイェルーン

+0

私は、AddSupplierWindowViewModel vm =(AddSupplierWindowViewModel)viewModelを思いついた。 if(vm.CmdAccept == command){myCode}これは正しく動作しますか? –

答えて

0

について。 interestedInの通信はおそらく(おそらく)v5のCatelから削除されます。

いくつかの良い例はOrchestra repositoryにあります。

実際にInterestIn(実際にビューモデル間の通信を処理するためのサービスを設定するためのショートカット)を使い続けたい場合は、インスタンスを取得する方法を理解する必要がありますコマンドのインスタンスを取得)をコマンド名に変換します。たとえば、コマンドのTagプロパティを使用できます。

関連する問題