我正在尝试将我当前的WPF / MVVM应用程序集成到Workflow Foundation 4.0。
目前我的一个ViewModel方法正在调用我的示例CodeActivity,向它发送一些参数。
在我的CodeActivity执行方法中,我需要从调用ViewModel调用一些方法。我想知道最好的方法是做什么。到目前为止,我已经确定了三种可能的方式:
到目前为止,我已经测试了选项2和3,它们显然运行良好。
执行此操作以避免线程同步问题或其他问题的最佳方法是什么?
提前致谢,
修改 仅举几个可能的场景:如果用户从我的View中的给定下拉列表中选择值'X',我需要将对象childA和childB添加到通过我的ViewModel中的公共属性公开的ParentObject所包含的ObservableCollection中。创建子对象并将其添加到父对象的逻辑在我的ViewModel中。但我希望Workflow包含业务规则本身。
答案 0 :(得分:1)
为什么您的CodeActivity
需要了解有关特定视图模型的任何信息?我会寻找另一种解决方案,让您的活动尽可能保持独立性。我可以想到的两个选项:
InArgument<IViewModel>
在不知道应用程序的具体情况的情况下,我不知道哪个选项最适合(或根本不工作),但我会避免给定视图模型与给定CodeActivity
之间的直接连接。 / p>