2011-08-27 52 views
0

我有一个DataForm绑定到RoleViewModel对象的集合。我使用MVVMLight的EventToCommand行为绑定到EditEnding事件DataForm的角色时已经编辑告诉我的视图模型。MVVM Light EventToCommand和Silverlight DataForm - 我需要EventArgs和一个自定义的CommandParameter。可能?

现在,......用户编辑一个角色,可以单击“确定”,“取消”或他们可以简单地浏览了。此信息在DataFormEditEndedEventArgsDataFormEditAction财产持有(OK是DataFormEditAction.Commit其余均为DataFormEditAction.Cancel)。

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

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

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

任何帮助将不胜感激。

在此先感谢。

回答

2

如果您的视图模型持有newrole该数据形的绑定值,那么你可以PassEventArgsToCommand,你可以保存/更新/取消之前操作数据。

这是我们已经解决了类似的场景。

+0

我一直在等待有人回答这个问题。这正是我最终采取的方法,当然也是正确的做法。有些日子,我猜所有的事情看起来都像是钉子。 :-) – Stimul8d

相关问题