我需要使用黑色和深灰色行的DataGrid。默认情况下,每行左侧都有灰色矩形(屏幕截图中标有红色),这是我不需要的。要删除它,我必须使用Template for DataGridRow。我得到的问题是AlternatingRowBackground在这种情况下不起作用,尽管我试图设置Background =" Transparent"用于Border和DataGridCellsPresenter。我在VisualStates中找到了示例,但这段代码看起来很重。有解决方法吗?
<Style TargetType="{x:Type DataGridRow}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridRow}">
<Border>
<DataGridCellsPresenter/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type DataGrid}">
<Setter Property="Background"
Value="Black" />
<Setter Property="Foreground"
Value="White" />
<Setter Property="RowBackground"
Value="Black" />
<Setter Property="AlternatingRowBackground"
Value="DarkGray" />
</Style>
答案 0 :(得分:1)
灰色矩形是所谓的行标题。默认情况下,DataGrid会打开行标题和列标题。您可以通过设置
将其从行标题中关闭HeadersVisibility=Column
所以,你不需要一个模板来完成它。