首先设置DataGrid 属性
SelectionUnit="Cell" SelectionMode="Extended"
按住Ctrl 多选
单元格样式
<Style x:Key="DataGridCellStyle" TargetType="{x:Type DataGridCell}">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
<ContentPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush EndPoint="0.2,0" MappingMode="RelativeToBoundingBox" StartPoint="0,0">
<GradientStop Color="#FFFEA844" Offset="0.036"/>
<GradientStop Color="#FFFFEEDB" Offset="0.073"/>
<GradientStop Color="#FFFEA844" Offset="0.033"/>
<GradientStop Color="#FFFED09B" Offset="0.047"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
<Setter Property="Foreground" Value="Black"/>
</Trigger>
<Trigger Property="IsKeyboardFocusWithin" Value="True">
<Setter Property="BorderBrush" Value="{DynamicResource {x:Static DataGrid.FocusBorderBrushKey}}"/>
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsSelected" Value="true"/>
<Condition Property="Selector.IsSelectionActive" Value="false"/>
</MultiTrigger.Conditions>
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush EndPoint="0.2,0" MappingMode="RelativeToBoundingBox" StartPoint="0,0">
<GradientStop Color="#FFFEA844" Offset="0.025"/>
<GradientStop Color="#FFFFEEDB" Offset="0.033"/>
<GradientStop Color="#FFFEA844" Offset="0.018"/>
<GradientStop Color="#FFFED09B" Offset="0.025"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
</MultiTrigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
</Trigger>
</Style.Triggers>
</Style>