我已经看到很多关于如何在文本框的工具提示中显示错误的示例。有人可以给我一个示例,说明如何在单独的 TextBlock 中而不是在 TextBox 的工具提示中显示错误?
如果文本框和文本块处于不同的视图中,我特别想知道如何做到这一点。带有文本块的视图可以访问在其上实现了 IDataErrorInfo 的数据。
我已经看到很多关于如何在文本框的工具提示中显示错误的示例。有人可以给我一个示例,说明如何在单独的 TextBlock 中而不是在 TextBox 的工具提示中显示错误?
如果文本框和文本块处于不同的视图中,我特别想知道如何做到这一点。带有文本块的视图可以访问在其上实现了 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 属性。然后我能够绑定到该属性。它似乎有点脏,但它对我有用。