在文本块而不是工具提示中显示 IDataErrorInfo 错误
本文关键字:显示 IDataErrorInfo 错误 工具提示 文本 | 更新日期: 2023-09-27 18:32:46
我见过很多如何在文本框的工具提示中显示错误的示例。有人可以给我一个示例,说明如何在单独的文本块而不是文本框的工具提示中显示错误吗?
我特别想知道如果文本框和文本块位于不同的视图中,如何执行此操作。但是,带有文本块的视图可以访问在其上实现 IDataErrorInfo 的数据。
你写的
具有文本块的视图有权访问具有 IDataErrorInfo虽然在它上面实现。
因此,一种方法可能是像文本框一样将文本块绑定到相同的属性。 然后为您的文本块创建一个验证模板,覆盖整个文本块。
编辑:也许是这样的东西?
<ControlTemplate x:Key="ValidationTemplate">
<Grid>
<AdornedElementPlaceholder Name="MyAdornedElement" />
<TextBlock Text="{Binding ElementName=MyAdornedElement,Path=AdornedElement.(Validation.Errors).CurrentItem.ErrorContent}" />
</Grid>
</ControlTemplate>
当然,您必须将其添加到文本块样式中
所以我最终要做的是添加一个我用错误文本设置的属性。每当更新我的 Name 属性时,如果它有错误,我都会更新 NameError 属性。然后我能够绑定到该属性。它看起来有点脏,但它为我做了诀窍。