应在MVVM架构中管理所选项目的位置和方式?

时间:2010-06-21 13:17:29

标签: wpf mvvm command selection

我有一个允许用户选择某些数据的视图:例如某些日期,并执行需要这些数据的命令。

因此,在我的命令中,我应该引用所选日期,但是将此日期转到命令所在的ViewModel端的最佳做法是什么:

  • 在ViewModel中添加SelectedDate依赖项属性并在其上绑定我的视图,并通过“@ this.SelectedDate”在我的命令中引用它(使用@this对当前ViewModel的引用),
  • 让视图通过命令的“Execute”方法的“参数”传输,并使用“DateTime selectedDate =(DateTime)参数;”,
  • 引用日期
  • 任何其他解决方案......

先谢谢。

3 个答案:

答案 0 :(得分:3)

我绝对会让SelectedDate成为视图模型的依赖属性。

我还要让命令从视图模型中获取SelectedDate。这个观点没有理由知道这一点。

答案 1 :(得分:1)

对于第一部分,是的我认为SelectedDate应该是ViewModel的(INotify)属性。

我对你的Command获取此信息的位置没有强烈的意见,我认为该属性是正常的。

答案 2 :(得分:1)

WPF Application Framework (WAF) BookLibrary 示例应用程序显示了使用MVVM处理所选项目的方法:ViewModel具有绑定的“SelectedBook”属性到视图。