Je travaille sur un projet VSIX (Visual Studio Extension). Il contient un DataGrid WPF. Je dois définir une couleur de surbrillance de ligne DataGrid personnalisée, lorsque DataGrid devient inactif (focus perdu), basé sur le thème Visual Studio.Comment définir la couleur de ligne inactive de WPF DataGrid en fonction du thème Visual Studio
Bien que de nombreux types similaires de Q & As soient détectés via le dépassement de pile, je suis incapable de trouver une solution basée sur le thème Visual Studio.
Je suis tombé sur le morceau de code suivant (style). Cependant, il ne couvre pas mes besoins, S'il vous plaît aider à résoudre ce problème.
<DataGrid.CellStyle>
<Style TargetType="{x:Type DataGridCell}">
<Style.Triggers>
<Trigger Property="IsSelected" Value="true">
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" />
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.HighlightTextBrushKey}}" />
<Setter Property="BorderBrush" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" />
</Trigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=IsSelected}" Value="True" />
<Condition Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGrid}, Path=IsKeyboardFocusWithin}" Value="False" />
</MultiDataTrigger.Conditions>
<MultiDataTrigger.Setters>
<!--Following Background color has to be changed based on VS theme-->
<Setter Property="Background" Value="DarkGray" />
<Setter Property="Foreground" Value="{DynamicResource VsBrush.WindowText}" />
<!--This BorderBrush color has to be changed based on VS theme-->
<Setter Property="BorderBrush" Value="DarkGray"/>
</MultiDataTrigger.Setters>
</MultiDataTrigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>
Merci
La question entendre est basée sur la couleur de VsBrush Rawbackground, je dois appliquer/définir une couleur inactive en surbrillance de la ligne. En d'autres termes Si (Vs Thème = Foncé) Puis Inactif Rowbackground = Rouge, Si (Vs Thème = Léger) Puis Inactif Rowbackground = Vert Merci –