MVVM Light EventToCommand和Silverlight DataForm - 我需要EventArgs和一个自定义CommandParameter。可能?

时间:2011-08-27 11:29:43

标签: silverlight mvvm mvvm-light dataform eventtocommand

我有一个DataForm绑定到RoleViewModel对象的集合。我正在使用绑定到EventToCommand的{​​{1}}事件的MVVMLight EditEnding行为,以便在编辑角色时通知我的ViewModel。

现在,...用户编辑了一个角色,可以点击“确定”,“取消”,也可以直接离开。此信息保存在DataForm的{​​{1}}媒体资源中(可以DataFormEditAction,其他人为DataFormEditEndedEventArgs)。

问题在于我必须选择是否选择DataFormEditAction.Commit,使命令DataFormEditAction.Cancel签名,或者将PassEventArgsToCommand的{​​{1}}绑定到RelayCommand<DataFormEditEndedEventArgs> {1}}行为,签名CurrentItem。我将需要两者

我需要DataForm知道用户是否取消了编辑,如果他们没有取消,我需要新角色将其保存回数据库。

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

非常感谢任何帮助。

提前致谢。

1 个答案:

答案 0 :(得分:2)

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

这就是我们解决类似情况的方法。