我有一个包含四列的DataGrid,每列的每一列都有一个控件。每当我选择一个列中的一个控件时,它所属的行都会突出显示为白色。背景将为白色,因此控件仍然显示。我根本不想让这一行突出显示。
<DataGrid>
<DataGrid.Columns>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
答案 0 :(得分:1)
您需要为DataGrid覆盖HighlightBrushKey
,但如果将其设置为白色,则突出显示的文本也会对应于白色,因此无法显示。
因此,基本上您需要覆盖HighlightBrushKey
到White
和HighlightTextBrushKey
到Black
才能使其正常工作。这是你覆盖它的方式 -
<DataGrid>
<DataGrid.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}"
Color="White"/>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}"
Color="Black"/>
</DataGrid.Resources>
</DataGrid>
答案 1 :(得分:0)
试试这个
<DataGrid SelectionMode="Single" SelectionUnit="Cell"