मुझे यह समस्या थी और मैंने अपने बालों को लगभग उखाड़ दिया था, और मैं नेट पर उचित उत्तर नहीं पा रहा था। मैं WPF DataGrid में चयनित पंक्ति की पृष्ठभूमि का रंग नियंत्रित करने का प्रयास कर रहा था। यह सिर्फ यह नहीं होगा। मेरे मामले में, इसका कारण यह था कि मेरे डेटाग्रिड में सेल सेल्टील भी था, और सेलसटाइल ने मेरे द्वारा स्थापित रोसेल्टी को ओवररोड किया। दिलचस्प बात यह है कि, क्योंकि सेलसिटी बैकग्राउंड कलर भी सेट नहीं कर रहा था, जिसके बजाय रोवैकग्राउंड और अल्टरनेट रीवबैक ग्राउंड गुणों द्वारा सेट किया गया था। फिर भी, जब मैंने ऐसा किया तो चयनित पंक्ति की पृष्ठभूमि का रंग सेट करने की कोशिश नहीं की गई:
<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>
और यह तब काम आया जब मैंने पंक्ति शैली के बाहर पंक्ति शैली में और सेल शैली में वांछित शैली को स्थानांतरित किया, जैसे:
<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>
बस इसे पोस्ट करने से किसी को समस्या होती है।