WPF中如何去除DataGrid左侧的边框线条?
解决WPF DataGrid左侧红色标记线条问题
你看到的左侧红色线条是DataGrid的**行指示器(Row Header)**默认样式导致的,以下两种方法可以解决:
方法一:直接隐藏行指示器
在DataGrid控件中添加HeadersVisibility属性并设置为Column,即可隐藏行头部区域,彻底移除红色线条:
<DataGrid Name="showTable" Style="{DynamicResource DataGridStyle1}" HorizontalAlignment="Center" VerticalAlignment="Center" FontFamily="IBM Plex Sans" FontSize="35" RowHeight="60" BorderBrush="White" GridLinesVisibility="None" AlternatingRowBackground="WhiteSmoke" Height="auto" Width="auto" IsReadOnly="True" TextBlock.TextAlignment="Center" HeadersVisibility="Column" <!-- 新增属性 --> AutoGenerateColumns="true"> </DataGrid>
方法二:自定义行指示器样式
如果需要保留行头部但去除红色样式,可以自定义DataGridRowHeader的样式:
在Window.Resources中添加如下样式:
<!-- 新增DataGrid行头部样式 --> <Style x:Key="CustomRowHeaderStyle" TargetType="DataGridRowHeader"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="DataGridRowHeader"> <!-- 透明边框,清除默认选中样式 --> <Border Background="Transparent" BorderThickness="0"/> </ControlTemplate> </Setter.Value> </Setter> </Style>
然后在DataGrid中引用该样式:
<DataGrid Name="showTable" ... RowHeaderStyle="{DynamicResource CustomRowHeaderStyle}" <!-- 引用自定义样式 --> AutoGenerateColumns="true"> </DataGrid>
额外说明
默认状态下,DataGrid的行指示器在选中行时会显示红色高亮边框。方法一直接隐藏行头部是最简便的方案;方法二则保留行头部区域但清除了默认的红色样式,适合需要行头部空间但不需要标记的场景。
内容的提问来源于stack exchange,提问作者F A Fernández
相关产品推荐
相关产品推荐

