【備忘録】
WPFで選択行の色を変更したいが、フォーカスが当たっているセルについては別の色を設定したいと思ったときに色々と調べた結果、
<XAML>
<DataGrid.Resources><Style TargetType="DataGridCell">
<Setter Property="BorderBrush" Value="White"/>
<Setter Property="BorderThickness" Value="1"/>
<Style.Triggers>
<!-- セル選択時の背景色(薄い灰色) -->
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="White"/>
<Setter Property="Foreground" Value="Black"/>
</Trigger>
<!-- フォーカスがあるセルだけ青枠 -->
<Trigger Property="IsKeyboardFocusWithin" Value="True">
<Setter Property="BorderBrush" Value="DodgerBlue"/>
<Setter Property="BorderThickness" Value="2"/>
</Trigger>
</Style.Triggers>
</Style>
<Style TargetType="DataGridRow">
<Style.Triggers>
<!-- セル選択時の背景色(薄い灰色) -->
<Trigger Property="IsSelected" Value="True">
<Setter Property="BorderBrush" Value="Black"/>
<Setter Property="BorderThickness" Value="2"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.Resources>
<完成図>
<ポイント>
<!-- フォーカスがあるセルだけ青枠 -->
<Trigger Property="IsKeyboardFocusWithin" Value="True">
<Setter Property="BorderBrush" Value="DodgerBlue"/>
<Setter Property="BorderThickness" Value="2"/>
</Trigger>