我有传统的Windows窗体用户控件,它暴露了几种公共方法。我将此控件包装在wpf用户控件上,并在新的wpf usercontrol上使用relay命令封装了Methods。
现在我的问题是如何使用mvvm模式在我的用户控件表单上执行命令,该视图模型与托管新wpf用户控件的视图一起使用。
答案 0 :(得分:0)
在viewmodel中,您必须添加一个字段
Public ICommand CommandOne
现在,此命令将根据您的要求/条件创建一个新的RelayCommand对象。
现在,您可以将此“CommandOne”命令与控件表单上的任何对象说按钮绑定。
因此,只要单击该按钮,就会创建RelayCommand对象,并将执行作为参数赋予它的操作。
希望它适合你。
答案 1 :(得分:0)
我喜欢如何使用绑定工具。需要将模式设置为OneWayToSource以从用户控件获取命令。棘手的部分是命令的初始化必须在usercontrol的加载事件中完成。如果您尝试在构造函数内部执行此操作,则最终将使用绑定的默认初始化,该初始化可能为null。
答案 2 :(得分:0)
使用PRISM EventAggregator?您可以从ViewModel发出一个事件,从您的Usercontrol订阅它。
http://www.codeproject.com/Articles/355473/Prism-EventAggregator-Sample https://msdn.microsoft.com/en-us/library/ff921122.aspx