Wpf 突出显示Datagrid选定行
我有一个DataGrid,它有四列,每行的每列中都有一个控件。每当我在列中选择一个控件时,它所属的任何一行都会高亮显示为白色。背景将为白色,因此控件仍会显示。我根本不想让这一行突出显示Wpf 突出显示Datagrid选定行,wpf,xaml,datagrid,Wpf,Xaml,Datagrid,我有一个DataGrid,它有四列,每行的每列中都有一个控件。每当我在列中选择一个控件时,它所属的任何一行都会高亮显示为白色。背景将为白色,因此控件仍会显示。我根本不想让这一行突出显示 <DataGrid> <DataGrid.Columns> <DataGridTemplateColumn>
<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>
试试这个
<DataGrid SelectionMode="Single" SelectionUnit="Cell"
您需要为您的数据网格覆盖HighlightBrushKey
,但如果您将其设置为白色,高亮显示的文本也会对应于白色,因此不可见
因此,基本上您需要将HighlightBrushKey
覆盖到White
和highlighttextbushkey
覆盖到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>
那里的建议对我们很有帮助。现在,当我被选中的时候,一些白色被遮住了。有些仍然显示,在我单击数据网格后,最近选择的行中仍然有白色高亮显示。您是否尝试过使用其单元格样式设置数据网格的样式?我尝试过,单元格样式,行样式,列样式,一堆带有IsSelected触发器设置的内容包括边框和背景,似乎没有任何内容可以删除它。第二个答案可能会有帮助,这似乎效果不错,只是现在只有您选择的控件所在的列具有白色高亮显示,而不是整行。