默认情况下,当您在WPF中的DataGrid上选择一行时,该行上会显示蓝色突出显示。
对于我的DataGrid,我有一个列,每行都有一个复选框。选择行时,应检查该框,并且不会显示分散注意力的蓝色突出显示。
任何人都知道这样做的方法吗? 我试过这段代码,但我不知道如何实现我的复选框列
Output:
A B C
'..' '..' 'e/f'
答案 0 :(得分:0)
最简单的方法是使用DataGridCheckBoxColumn并覆盖下面的选择样式,
<DataGrid Name="Grid" AutoGenerateColumns="False">
<DataGrid.Resources>
<ResourceDictionary>
<Style x:Key="{x:Type DataGridCell}" TargetType="{x:Type DataGridCell}">
<Setter Property="Foreground" Value="Black" />
<Setter Property="Background" Value="{x:Null}" />
<Setter Property="BorderBrush" Value="{x:Null}" />
</Style>
</ResourceDictionary>
</DataGrid.Resources>
<DataGrid.Columns>
<DataGridCheckBoxColumn Header="Bool property" Binding="{Binding Path=IsSelected, RelativeSource={RelativeSource AncestorType={x:Type DataGridRow}}}"></DataGridCheckBoxColumn>
<DataGridTextColumn Header="Text Property" Binding="{Binding .}"/>
</DataGrid.Columns>
</DataGrid>