【发布时间】:2011-07-31 03:54:49
【问题描述】:
我创建了一个带有ListView 的窗口来显示人员集合。还有 3 个TextBoxes 应该显示人的名字和姓氏以及年龄。最后,有一个Button 来保存在那些TextBoxes 中输入的新人员数据。
将人员加载到ListView 是通过实现 MVVM 完成的。奇迹般有效!此外,通过单击Button 将新人添加到集合中也是通过 MVVM 完成的。
但是有两个用例我不确定使用命令是否更明智,即 MVVM,或者只是简单的代码隐藏。用例是:
- 当用户从
ListView中选择一个人时,TextBoxes 应该显示该人 细节。 - 当用户在显示的
TextBox中键入字符而不是数字时 人的年龄,应警告她或他输入的数据不正确。
我之所以怀疑应该使用 MVVM 还是代码隐藏,是因为这两个用例都与仅视图 (GUI) 有关,即与模型或应用程序业务逻辑没有交互性。 ListView 项目源绑定到人员集合 ObservableColleciton<Person> 并且当 ListView 填充项目时,与所选人员相关的所有数据都已传递到视图。在第二个用例中,再次,无需转到 ViewModel 以使其触发有关错误用户输入的消息框。在 ViewModel 类的 age 依赖属性中创建一个验证回调怎么样?
感谢所有澄清。
【问题讨论】:
标签: wpf mvvm code-behind