MVVM Light EventToCommand和Silverlight数据表单-我需要EventArgs和自定义CommandParameter。可能的

MVVM Light EventToCommand和Silverlight数据表单-我需要EventArgs和自定义CommandParameter。可能的,silverlight,mvvm,mvvm-light,dataform,eventtocommand,Silverlight,Mvvm,Mvvm Light,Dataform,Eventtocommand,我将数据表单绑定到RoleViewModel对象的集合。我正在使用MVVMLight的EventToCommand行为绑定到DataForm的EditEnding事件,以在编辑角色时通知我的ViewModel 现在,。。。用户编辑角色,可以单击“确定”、“取消”,也可以直接导航离开。此信息保存在DataFormEditedEventArgs中的DataFormEditAction属性中(确定为DataFormEditAction.Commit,其他为DataFormEditAction.Canc

我将
数据表单
绑定到RoleViewModel对象的集合。我正在使用MVVMLight的
EventToCommand
行为绑定到
DataForm
EditEnding
事件,以在编辑角色时通知我的ViewModel

现在,。。。用户编辑角色,可以单击“确定”、“取消”,也可以直接导航离开。此信息保存在
DataFormEditedEventArgs
中的
DataFormEditAction
属性中(确定为
DataFormEditAction.Commit
,其他为
DataFormEditAction.Cancel

问题是,我必须选择是选择
PassEventArgsToCommand
,对命令
RelayCommand
进行签名,还是将
DataForm
CurrentItem
绑定到行为的
CommandParameter
,进行签名
RelayCommand
。我需要两个

我需要
EventArgs
来了解用户是否已取消编辑,如果他们没有取消编辑,我需要新角色将其保存回数据库

这里有人有什么聪明的建议吗?我想我可以把手弄脏,用两个参数创建第二个行为,但如果有更优雅的解决方案,我宁愿不要

任何帮助都将不胜感激


提前感谢。

如果您的viewmodel将newrole的可绑定值保存到dataform,那么您可以传递EventArgsToCommand,并且可以在保存/更新/取消之前操作数据


这就是我们解决类似问题的方法。

我等了很久了,等着有人回答这个问题。这正是我最后采取的方法,当然也是正确的方法。有些日子,我想一切都像钉子一样。:-)