2010-06-17 68 views
1

我正在开发一个WPF GUI框架,并且遇到了使用双向绑定和大量不需要的事件(主要在Flex中)的糟糕体验,因此我沿着绑定的路线走了(字符串代表对象路径)在我的控件中。当请求显示视图时,控制器加载视图,并从DB获取所需的实体(使用绑定),并使用正确的值填充控件。这具有许多优点,例如延迟加载,默认撤消行为等。当需要保存视图中的数据时,视图会再次传回给控制器,而控制器基本上不会保留,即如果值存在,则从视图重新填充实体已改变。WPF控件验证

但是,当我尝试验证组件时遇到了问题。每个实体的属性都有属性,这些属性定义了控制器可以轻松访问的验证规则,并验证视图中的数据。数据的实际验证很好。问题出现在我想要GUI控件显示错误验证信息时。它尝试改变我遇到的错误风格,一旦使用后风格无法更改。在c#中的一种方式是关闭正常的WPF验证机制,并用控制器发现的validaiton错误来证明它?

在此先感谢

乔恩

回答

2

两件事情:

1)信任的数据绑定WPF。 WPF的数据绑定非常强大,非常有用 - 没有理由让其他框架的“糟糕体验”阻止您使用DataBinding。它将大大简化您的代码。

2)数据验证的最佳选择是使用WPF的内置数据验证功能。如果你使你的数据上下文实现(数据保持绑定)实现IDataErrorInfo,你几乎可以免费获得适当的验证样式(并且可以完全自定义)。这是在WPF中处理数据验证的正确方法。

+0

非常感谢这个,但有没有一种方法来编程实现验证或更改样式? – Jon 2010-06-17 19:20:43