我有一个自定义控件绑定到视图模型中的对象。该控件拥有自己的“迷你视图模型”(实现raiseproperychanged和idataerrorinfo),它的代码仅用于某些特定的验证。将控制级别(视图)验证错误返回到视图模型
该控件的内部使用了一些属性,可能导致控件处于无效状态(这些属性是控件固有的,并且不代表我们绑定的模型的属性)。我怎样才能让这些验证错误“冒泡”,以便与此控件绑定的属性显示为具有验证错误?
有关更清晰的示例。假设我有一个人物对象绑定到自定义用户控件的person属性。该控件将允许您编辑人员的子属性等。除了通常应用于人员对象的控件之外,在此控件中还有其他验证,例如控件在用户关闭控件创建的对话框之前为“无效”,或者单击指示已完成编辑的复选框。我希望将这些验证错误传播出去,以便绑定到person属性显示验证错误,或者更具体地说,包含它的VM。
我知道IDataErrorInfo是如何工作的,我正在寻找一种方法来表明“Person”本身是无效的,而不仅仅是人的子属性。 – Brandorf 2012-04-04 20:20:29
虽然它不能解决我眼前的问题,但我会将其标记为答案,因为看起来我真正的问题是方法,而不是缺少一个接口来做我想做的事情。 ,p – Brandorf 2012-04-16 21:32:07