[英]How to pass ViewModel to CodeActivity using WF4 with MVVM and WPF
我正在尝试将当前的WPF / MVVM应用程序集成到Workflow Foundation 4.0。
目前,我的ViewModel方法之一是调用我的示例CodeActivity向其发送一些参数。
在CodeActivity execute方法的内部,我需要从调用ViewModel的方法中调用某些方法。 我想知道什么是最好的方法。 到目前为止,我已经确定了三种可能的方法:
到目前为止,我已经测试了选项2和3,它们显然工作良好。
避免出现线程同步问题或其他问题的最佳方法是什么?
提前致谢,
编辑:仅提及一种可能的情况:如果用户从视图中的给定下拉列表中选择值“ X”,则需要将对象childA和childB添加到由通过ViewModel中的公共属性公开的ParentObject所包含的ObservableCollection中。 创建子对象并将其添加到父对象的逻辑在我的ViewModel中。 但是我希望工作流包含业务规则本身。
为什么您的CodeActivity
需要了解有关特定视图模型的任何信息? 我会寻找另一种解决方案,以使您的活动尽可能保持独立性。 我可以想到两个选择:
InArgument<IViewModel>
在不了解您的应用程序细节的情况下,我不知道哪个选项最有效(或根本不起作用),但是我会避免在给定的视图模型和给定的CodeActivity
之间建立直接连接。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.