1

我已经看到很多关于如何在文本框的工具提示中显示错误的示例。有人可以给我一个示例,说明如何在单独的 TextBlock 中而不是在 TextBox 的工具提示中显示错误?

如果文本框和文本块处于不同的视图中,我特别想知道如何做到这一点。带有文本块的视图可以访问在其上实现了 IDataErrorInfo 的数据。

4

2 回答 2

0

你写了

带有文本块的视图可以访问在其上实现了 IDataErrorInfo 的数据。

所以一种方法可能是将文本块绑定到与文本框相同的属性。然后为您的文本块创建一个验证模板,覆盖整个文本块。

编辑:也许是这样的?

<ControlTemplate x:Key="ValidationTemplate">
    <Grid>
        <AdornedElementPlaceholder Name="MyAdornedElement" />  
        <TextBlock Text="{Binding ElementName=MyAdornedElement,Path=AdornedElement.(Validation.Errors).CurrentItem.ErrorContent}" />
    </Grid>
</ControlTemplate>

当然,您必须将其添加到文本块样式中

于 2012-05-02T12:47:05.390 回答
0

所以我最终做的是添加一个我用错误文本设置的属性。每当我的 Name 属性更新时,如果它有错误,我就会更新 NameError 属性。然后我能够绑定到该属性。它似乎有点脏,但它对我有用。

于 2012-05-03T18:55:42.223 回答