这很奇怪,所以我确定我在这里遗漏了一些(几乎)明显的东西。我希望控制所选行和单元格的外观,以便我正在使用触发器。触发似乎有效,因为我看到了我对颜色和厚度的设置。
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="Aquamarine"></Setter>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
<DataGrid.CellStyle>
<Style TargetType="DataGridCell">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="BorderThickness" Value="0"></Setter>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>
然而,问题是行的背景在包含数据的所有列上以默认蓝色着色,而在最后一列右侧空白区域的自定义海蓝宝石中,就像下图所示。 / p>
是什么给出的?我的google-fu没有显示任何需要删除的持久性默认值...
答案 0 :(得分:3)
默认蓝色是DataGridCell
&#39; Template
的一部分。
您可以重新尝试DataGridCell并省略此功能,或者您只需在现有DataGridCell样式的IsSelected
触发器中添加一个setter,并将Background
设置为Transparent
<DataGrid.CellStyle>
<Style TargetType="DataGridCell">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Background" Value="Transparent"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>