我有一个DataForm
绑定到RoleViewModel对象的集合。我正在使用绑定到EventToCommand
的{{1}}事件的MVVMLight EditEnding
行为,以便在编辑角色时通知我的ViewModel。
现在,...用户编辑了一个角色,可以点击“确定”,“取消”,也可以直接离开。此信息保存在DataForm
的{{1}}媒体资源中(可以DataFormEditAction
,其他人为DataFormEditEndedEventArgs
)。
问题在于我必须选择是否选择DataFormEditAction.Commit
,使命令DataFormEditAction.Cancel
签名,或者将PassEventArgsToCommand
的{{1}}绑定到RelayCommand<DataFormEditEndedEventArgs>
{1}}行为,签名CurrentItem
。我将需要两者。
我需要DataForm
知道用户是否取消了编辑,如果他们没有取消,我需要新角色将其保存回数据库。
有没有人在这里有任何聪明的建议?我想我可以弄脏手,用两个参数创建第二个行为,但如果有一个更优雅的解决方案,我宁愿不要。
非常感谢任何帮助。
提前致谢。
答案 0 :(得分:2)
如果您的viewmodel将newrole的可绑定值保存到dataform,那么您可以使用PassEventArgsToCommand,并且可以在保存/更新/取消之前操作数据。
这就是我们解决类似情况的方法。