这有点是my previous question的后续内容,人们向我指出了MVVM的方向。
我正试图准确理解这个框架中的工作应该去哪里。我的视图包含一个用户输入URI的文本框。
据我所知,我有两个选择:
Uri
对象,使用转换器和验证器检查URI是否有效,如果是,则转换它。然后,ViewModel会以有效的Uri
或DependencyProperty.UnsetValue
结束。 (我使用this之类的东西作为组合转换器/验证器;这是一个很好的MVVM实践吗?)string
,并根据ViewModel代码的需要进行转换/验证。我不完全确定使用ViewModel告诉视图URI字符串无效的代码是什么,并显示适当的验证错误。我猜通常问题是如何以及在何处处理MVVM框架中可能无效的数据。这似乎没有涵盖在我浏览过的MVVM的任何基本介绍中。感谢您的帮助,让我全心全意:)。
答案 0 :(得分:1)
在我看来,你应该有你的验证框架,验证用户的输入,一旦确认有效,就应该被转换器绑定到ViewModel上的Uri属性。
这完全取决于您如何设置验证,但我建议您的验证应该在ViewModel上设置属性之前进行。
希望有所帮助!