【发布时间】:2011-04-10 05:29:24
【问题描述】:
这有点像 WPF 问题!我的验证认为它没有按预期出现
问题
基本上,我在我的视图模型上使用 IDataErrorInfo 来提供有关数据输入错误的反馈。我可以看到它被调用并按预期工作,但是 WPF 永远不会显示绑定控件的验证错误模板!
我已经尝试过使用内置的默认文本框红色边框错误模板、样式错误模板和硬编码模板。这些都不会在数据错误情况下显示。
这是我的 xaml 绑定代码:
<TextBox x:Name="txtCaseNumber"
Text="{Binding Path=CaseNumber, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}"/>
奇怪的是,错误进入了 Validation.Errors 集合。以下代码导致我的 IDataErrorInfo 错误消息显示在绑定控件旁边。这让我认为问题出在 xaml 方面,而不是 viewmodel 方面。
<ContentPresenter
Content="{Binding ElementName=txtCaseNumber, Path=(Validation.Errors).CurrentItem}" />
此外,
System.Windows.Controls.Validation.GetHasError(txtCaseNumber) 返回 true。
如果有什么不同,我会在 winforms 中托管 WPF。我在我的代码或样式中找不到任何对 Validation 或 ErrorTemplate 的引用,因此我很确定这不是自己的样式目标。
【问题讨论】:
标签: wpf xaml adornerlayer