首页 > 解决方案 > 滚动时 WPF 数据网格单元格边框在固定(静态列)上重叠

问题描述

我有一个 DataGridTextColumn 和 Element Style 设置 tp 类型 TextBox 并且我有一个用于 TextBox 的验证样式位置,它突出显示带有红色边框的单元格,以防它没有任何值。(如必填字段验证)

<Style  x:Key="TextBoxValidationStyle" TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
    <Style.Triggers>
        <Trigger Property="Validation.HasError" Value="True">
            <Validation.ErrorTemplate>
                <ControlTemplate>
                    <DockPanel>
                        <Border BorderBrush="Red" BorderThickness="1">
                            <AdornedElementPlaceholder x:Name="controlWithError"/>
                        </Border>
                        <TextBlock Foreground="Red" FontSize="20" FontFamily="Segoe UI" Margin="3,0,0,0" />
                    </DockPanel>
                </ControlTemplate>
            </Validation.ErrorTemplate>
            <Setter Property="ToolTip" Value="{Binding RelativeSource={x:Static RelativeSource.Self}, Path=(Validation.Errors)[0].ErrorContent}"/>
        </Trigger>
    </Style.Triggers>
</Style> 

问题是:我的网格的第一列是固定的,当我水平滚动时,错误单元格(带有红色边框)与静态列重叠。

期望:一旦单元格开始移动到固定列的后面,它应该隐藏与网格上其他内容相同的边框。

有什么建议么?

标签: wpfdatagridbordercell

解决方案


推荐阅读