2009-07-20 60 views
0

这是my previous question的一个后续步骤,人们指着我指向MVVM的方向。我的ViewModel应该包含一个URI还是一个字符串?

我想明白工作应该在这个框架中去的地方。我的视图包含一个用户输入URI的文本框。

据我看到的,我有两个选择:

  1. 绑定到我的视图模型一个Uri对象,使用转换器和验证检查,如果URI是有效的,并转换它,如果它是。 ViewModel然后以有效的UriDependencyProperty.UnsetValue结束。 (我正在使用类似this的东西作为组合转换器/验证器;这是一个很好的MVVM实践吗?)
  2. 绑定到我的ViewModel中的string,并根据ViewModel代码的需要进行转换/验证。我不完全确定代码是什么让ViewModel告诉视图URI字符串是无效的,并且显示适当的验证错误。

我想一般的问题是关于如何以及在哪里处理MVVM框架中潜在的无效数据。这似乎没有涵盖在我浏览过的任何MVVM的基本介绍中。感谢您的帮助,让我全神贯注于此:)。

回答

1

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

这一切都取决于你如何设置你的验证,但我会建议你的验证应该在ViewModel上设置属性之前。

希望有帮助!

+0

谢谢!你能否详细说明“验证框架”的概念?现在我想我只是为该类型的每个字段创建一个验证器+转换器类;有没有一个更正式的框架,人们使用(在MVVM或其他)? – Domenic 2009-07-20 17:17:04

相关问题