我正在嘗試將當前的WPF/MVVM應用程序集成到Workflow Foundation 4.0中。如何將ViewModel傳遞給使用帶MVVM和WPF的WF4的CodeActivity
目前我的ViewModel方法之一是調用我的示例CodeActivity發送它的一些參數。
在我的CodeActivity執行方法的內部,我需要從調用ViewModel調用一些方法。我想知道最好的方法是做什麼。到目前爲止,我已經確定了三種可能的方式:
- 發送我的視圖模型實例作爲輸入參數,以我的CodeActivity
- 通過構造函數發送我的ViewModel比如在我的CodeActivity像公共MyCodeActivity(視圖模型VM)
- 總結我的CodeActivity在WorkflowApplication中,並使用SynchronizationContext發送我的ViewModel實例作爲擴展使用SynchronizationContext
到目前爲止,我已經測試了選項2和3,它們很好地工作。
什麼是最佳方法來避免線程同步問題或其他問題?
由於提前,
編輯: 僅舉一個可能的方案:如果用戶從在我看來,我需要的對象childA和childB添加到一個ObservableCollection給定的下拉列表中選取值「X」由通過ViewModel中的公共屬性暴露的ParentObject包含。創建子對象並將它們添加到父對象的邏輯位於我的ViewModel中。但我希望Workflow包含業務規則本身。
標準的方法是使用'InArgument' –
2012-02-03 17:35:53
一些相關信息[WF,View,ViewModel,How to Communicate?](http://social.msdn.microsoft.com/Forums/hu-HU/ wfprerelease/thread/37f226a1-a897-4e7a-82df-e20808d05812) – 2012-02-03 18:54:12