MVVM Light EventToCommand和Silverlight DataForm -我需要EventArgs



我有一个绑定到RoleViewModel对象集合的DataForm。我使用MVVMLight的EventToCommand行为绑定到DataFormEditEnding事件,当角色被编辑时通知我的ViewModel。

现在,……用户编辑一个角色,可以点击"确定","取消",或者他们可以简单地导航离开。此信息保存在DataFormEditEndedEventArgsDataFormEditAction属性中(OK为DataFormEditAction.Commit,其他为DataFormEditAction.Cancel)。

问题是我必须选择是否选择PassEventArgsToCommand,使命令的签名成为RelayCommand<DataFormEditEndedEventArgs>,或者将DataFormCurrentItem绑定到行为的CommandParameter,使签名成为RelayCommand<RoleViewModel>。我需要

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

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

任何帮助都将是非常感激的。

如果你的视图模型持有一个newrole到数据表的可绑定值,那么你可以PassEventArgsToCommand,并且你可以在保存/更新/取消之前操作数据。

这是我们解决类似场景的方法。

相关内容

  • 没有找到相关文章

最新更新