TextBlock的WPF验证

时间:2012-06-22 02:38:12

标签: wpf xaml

制作WPF桌面应用程序。 我正在使用各种验证。 在TextBox中,如果我正在使用, NotifyOnValidationError =真,ValidatesOnDataErrors =真,ValidatesOnExceptions =真 它的工作正常。但是在TextBlock中,如果我使用相同的东西,整个块用红色标志突出显示....我只想要一个excla。 (!)标记.. NotifyOnValidationError=True,ValidatesOnDataErrors=True,ValidatesOnExceptions=True。我该怎么办?

1 个答案:

答案 0 :(得分:1)

如果要覆盖Validation类中定义的默认错误模板,只需定义ControlTemplate并将其分配给TextBlock Validation.ErrorTemplate附加属性。

<TextBlock
Validation.ErrorTemplate="{StaticResource TextBlockErrorTemplate}">     
<TextBlock>

在资源字典中,您可以定义错误模板,如下所示:

 <ControlTemplate x:Key="TextBlockErrorTemplate">
            <DockPanel LastChildFill="True">
                <TextBlock DockPanel.Dock="Right"
                           Foreground="Red"
                           FontSize="14pt"
                           Margin="-15,0,0,0"
                           FontWeight="Bold">!
                </TextBlock>
                <AdornedElementPlaceholder Name="controlWithError" />
            </DockPanel>
        </ControlTemplate>