Saya memiliki masalah ini dan saya hampir mencabut rambut saya, dan saya tidak dapat menemukan jawaban yang sesuai di internet. Saya mencoba untuk mengontrol warna latar belakang dari baris yang dipilih dalam WPF DataGrid. Itu tidak akan berhasil. Dalam kasus saya, alasannya adalah karena saya juga memiliki CellStyle di datagrid saya, dan CellStyle mengalahkan RowStyle yang saya setting. Menariknya, karena CellStyle bahkan tidak mengatur warna latar belakang, yang sebaliknya diatur oleh properti RowBackground dan AlternateRowBackground. Namun demikian, mencoba mengatur warna latar belakang dari baris yang dipilih tidak bekerja sama sekali ketika saya melakukan ini:
<DataGrid ... >
<DataGrid.RowBackground>
...
</DataGrid.RowBackground>
<DataGrid.AlternatingRowBackground>
...
</DataGrid.AlternatingRowBackground>
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="Pink"/>
<Setter Property="Foreground" Value="White"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
<DataGrid.CellStyle>
<Style TargetType="{x:Type DataGridCell}">
<Setter Property="Foreground" Value="{Binding MyProperty}" />
</Style>
</DataGrid.CellStyle>
dan itu berhasil ketika saya memindahkan gaya yang diinginkan untuk baris yang dipilih dari gaya baris dan ke gaya sel, seperti:
<DataGrid ... >
<DataGrid.RowBackground>
...
</DataGrid.RowBackground>
<DataGrid.AlternatingRowBackground>
...
</DataGrid.AlternatingRowBackground>
<DataGrid.CellStyle>
<Style TargetType="{x:Type DataGridCell}">
<Setter Property="Foreground" Value="{Binding MyProperty}" />
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="Pink"/>
<Setter Property="Foreground" Value="White"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>
Hanya memposting ini jika seseorang memiliki masalah yang sama.