具有验证错误样式的WPF Datagrid单元格

joe*_*age 5 validation wpf datagrid wpftoolkit datagridcell

我正在尝试在出现验证错误时更改DataGridCell的默认样式(在WPF Toolkit DataGrid中).默认为红色边框.我怎样才能放置自己的模板?

谢谢.

小智 10

试试这个:

<!-- Cell Style -->
    <Style x:Key="CellErrorStyle" TargetType="{x:Type TextBlock}">
        <Style.Triggers>
            <Trigger Property="Validation.HasError" Value="true">
                <Setter Property="ToolTip"
                        Value="{Binding RelativeSource={RelativeSource Self},
                                Path=(Validation.Errors)[0].ErrorContent}"/>
                <Setter Property="Background" Value="Yellow"/>
            </Trigger>
        </Style.Triggers>
    </Style>
Run Code Online (Sandbox Code Playgroud)

并使用它:

        <DataGrid.Columns>
            <DataGridTextColumn 
                ElementStyle="{StaticResource CellErrorStyle}">
            </DataGridTextColumn>
        </DataGrid.Columns>
Run Code Online (Sandbox Code Playgroud)


Pan*_*ood 2

Diederik Krols提供了一个很好的教程,它完全可以满足您对 WPF 工具包 DataGrid 的要求。

  • 这实际上并没有解决单元格的验证问题,它解决了行的验证问题...仍在寻找一种方法来覆盖红色轮廓行为,例如:改为放置黄色背景... (4认同)
  • 我的意思是单元格的“风格”。该文章描述了如何验证该值,但不更改单元格样式,例如,更改为黄色背景而不是标准的红色边框,这是最初的问题。它验证单元格值,但随后仅修改行样式。我发现这种地址修改了实际的单元格:http://msdn.microsoft.com/en-us/library/ee622975.aspx (3认同)