現在のWPF/MVVMアプリケーションをWorkflow Foundation 4.0に統合しようとしています。MVVMとWPFでWF4を使用してViewModelにCodeActivityを渡す方法
現在、私のViewModelメソッドの1つでは、サンプルCodeActivityを呼び出して、いくつかのパラメータを送信しています。
私のCodeActivity実行メソッドの中で、私は呼び出し側のViewModelからいくつかのメソッドを呼び出す必要があります。私はこれを行う最良の方法が何であるか知りたいと思います。
- 公共MyCodeActivityのように私のCodeActivityにコンストラクタを通じて私のViewModelのインスタンスを送る私のCodeActivity
- に入力引数としての私のViewModelのインスタンスを送信する(ViewModelにVM)
- ラップ:これまでのところ私は3つの方法を特定しましたWorkflowApplicationのCodeActivityを呼び出し、SynchronizationContextを使用してViewModelインスタンスを拡張機能として送信します。
これまでのところ、オプション2と3をテストしましたが、明らかにうまく機能しています。
スレッド同期の問題などの問題を避けるためにこれを行う最適な方法は何ですか?事前に
おかげで、
編集: だけで可能なシナリオに言及する:ユーザーが私の見解で与えられたドロップダウンリストから値「X」を選ぶならば、私はのObservableCollectionにオブジェクトchildAとchildBを追加する必要があります私のViewModelのpublicプロパティを介して公開されるParentObjectに含まれています。子オブジェクトを作成して親オブジェクトに追加するロジックは、私のViewModelにあります。しかし、私はワークフロー自体にビジネスルールを含めることを望んでいます。
標準的な方法は、InArgument ' –
いくつかの関連情報[WF、View、ViewModel、How to Communicate?](http://social.msdn.microsoft.com/Forums/hu-HU/)を使用することです。 wfprerelease/thread/37f226a1-a897-4e7a-82df-e20808d05812) –