【问题标题】:MVVM Light EventToCommand and Silverlight DataForm - I need the EventArgs and a custom CommandParameter. Possible?MVVM Light EventToCommand 和 Silverlight DataForm - 我需要 EventArgs 和自定义 CommandParameter。可能的?
【发布时间】:2011-08-27 11:29:42
【问题描述】:

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

现在,... 用户编辑角色并可以单击“确定”、“取消”,或者他们可以简单地离开。此信息保存在DataFormEditEndedEventArgs 中的DataFormEditAction 属性中(可以是DataFormEditAction.Commit,其他是DataFormEditAction.Cancel)。

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

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

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

任何帮助将不胜感激。

提前致谢。

【问题讨论】:

    标签: silverlight mvvm mvvm-light dataform eventtocommand


    【解决方案1】:

    如果您的视图模型将新角色的可绑定值保存到数据表单,那么您可以 PassEventArgsToCommand,并且您可以在保存/更新/取消之前操作数据。

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

    【讨论】:

    • 我一直在等待有人回答这个问题已经很久了。这正是我最终采用的方法,当然也是正确的方法。我猜有些日子一切看起来都像钉子。 :-)
    猜你喜欢
    • 1970-01-01
    • 2011-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-01
    相关资源
    最近更新 更多