我正在开发一个WPF GUI框架,并且有过双向绑定和许多不需要的事件被触发(主要是在Flex中)的糟糕经历,所以我在控件中使用了绑定(代表对象路径的字符串)。当请求显示视图时,控制器加载视图,并从DB获取所需的实体(使用绑定),并使用正确的值填充控件。当视图中的数据需要保存时,视图被再次传递回控制器,控制器基本上执行保留操作,即如果值发生变化,则重新填充视图中的实体。
然而,当我尝试和验证组件时,我遇到了问题。每个实体在其属性上都有属性,这些属性定义了控制器可以轻松访问的验证规则,并根据它来验证视图中的数据。数据的实际验证是很好的。当我想让GUI控件显示错误验证信息时,问题就出现了。如果我尝试改变样式,我得到的错误是样式一旦使用就不能改变。这是一种在c#中触发正常的WPF验证机制并仅用控制器发现的验证错误来验证它的方法吗?
提前感谢
琼恩
发布于 2010-06-18 02:27:42
两件事:
1)信任WPF中的数据绑定。WPF的数据绑定非常健壮,非常有用--没有理由让你在其他框架上的“糟糕经历”阻止你使用DataBinding。它将极大地简化您的代码。
2)数据验证的最佳选择是使用WPF的内置数据验证功能。如果您让数据上下文实现(用于绑定的数据存放在其中)实现IDataErrorInfo,您将几乎免费(并且完全可定制)获得适当的验证样式。这是在WPF的UI上处理数据验证的正确方法。
https://stackoverflow.com/questions/3064326
复制相似问题