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