我见过很多关于如何在文本框的工具提示中显示错误的示例。有人能举例说明如何在单独的TextBlock中而不是在TextBox的工具提示中显示错误吗?
如果文本框和文本块位于不同的视图中,我特别感兴趣知道如何执行此操作。带有textblock的视图可以访问在其上实现IDataErrorInfo的数据。
答案 0 :(得分:0)
带有textblock的视图可以访问具有的数据 虽然在它上面实现了IDataErrorInfo。
所以一种方法是将文本块绑定到与文本框相同的属性。然后为你的文本块创建一个验证模板,覆盖整个文本块。
编辑:也许是这样的?<ControlTemplate x:Key="ValidationTemplate">
<Grid>
<AdornedElementPlaceholder Name="MyAdornedElement" />
<TextBlock Text="{Binding ElementName=MyAdornedElement,Path=AdornedElement.(Validation.Errors).CurrentItem.ErrorContent}" />
</Grid>
</ControlTemplate>
你必须将它添加到文本块样式
答案 1 :(得分:0)
所以我最终做的是添加一个我用Error文本设置的属性。任何时候更新我的Name属性,如果它有错误,我更新NameError属性。然后我能够绑定到该属性。它似乎有点脏,但它为我做了诀窍。