使用ContentPresenter进行WPF验证

时间:2010-04-22 23:35:33

标签: wpf validation binding idataerrorinfo caliburn

我有一个需要验证某些字段的WPF用户控件。它绑定到一个实现IDataErrorInfo的类。

当我在另一个已经打开的窗口中将用户控件设置为我的ContentPresenter的内容时,我可以看到验证发生,并且返回了错误消息,但是,我没有得到任何验证装饰 - 例如默认的红色轮廓。

如果我进入该字段并离开(触发重新验证),则会显示验证装置。

此外,如果我在其自己的窗口中显示用户控件,则会立即显示验证装饰器。

(我正在使用Caliburn IResults在下面执行此操作,例如Show.Dialog<VM>();,但我怀疑这不相关)

任何人都可以提供任何有关验证装饰器未立即显示的建议。 (我已经在我的ContentPresenter ContentChanged上猜到了动画,但是,我已经删除了它并仍然遇到了问题。

感谢, 克里斯

1 个答案:

答案 0 :(得分:1)

这是.NET 3.5中存在的已知错误。您可能能够实现workaround,但如果可行,我建议升级到.NET 4,因为这将解决您的验证问题。