我的ViewModel应该包含URI还是字符串?

时间:2009-07-20 01:32:47

标签: wpf data-binding mvvm

这有点是my previous question的后续内容,人们向我指出了MVVM的方向。

我正试图准确理解这个框架中的工作应该去哪里。我的视图包含一个用户输入URI的文本框。

据我所知,我有两个选择:

  1. 绑定到我的ViewModel中的Uri对象,使用转换器和验证器检查URI是否有效,如果是,则转换它。然后,ViewModel会以有效的UriDependencyProperty.UnsetValue结束。 (我使用this之类的东西作为组合转换器/验证器;这是一个很好的MVVM实践吗?)
  2. 绑定到我的ViewModel中的string,并根据ViewModel代码的需要进行转换/验证。我不完全确定使用ViewModel告诉视图URI字符串无效的代码是什么,并显示适当的验证错误。
  3. 我猜通常问题是如何以及在何处处理MVVM框架中可能无效的数据。这似乎没有涵盖在我浏览过的MVVM的任何基本介绍中。感谢您的帮助,让我全心全意:)。

1 个答案:

答案 0 :(得分:1)

在我看来,你应该有你的验证框架,验证用户的输入,一旦确认有效,就应该被转换器绑定到ViewModel上的Uri属性。

这完全取决于您如何设置验证,但我建议您的验证应该在ViewModel上设置属性之前进行。

希望有所帮助!