【问题标题】:WPF Validation for TextBlock文本块的 WPF 验证
【发布时间】:2012-06-24 08:35:45
【问题描述】:

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

【问题讨论】:

  • 您有机会尝试我的建议吗?

标签: wpf xaml


【解决方案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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-21
    • 1970-01-01
    • 1970-01-01
    • 2014-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多