J'ai un problème qui me rend fou, et je ne semble pas être capable de trouver une solution.Hyperlien Le style de premier plan dans une liste n'apparaît pas
J'ai un Listview, dont le listivew ItemTemplate est un datatemplate qui ressemble à ceci:
<DataTemplate x:Key="template" >
<TextBlock Foreground="Green" >
<Hyperlink Command="{Binding LoadReportCommand}"
CommandParameter="{Binding DisplayName}" >
<TextBlock Text="{Binding DisplayName}" />
</Hyperlink>
</TextBlock>
</DataTemplate>
Le style de l'hyperlien est comme suit:
<Style x:Key="{x:Type Hyperlink}" TargetType="{x:Type Hyperlink}">
<Setter Property="Foreground" Value="Green" />
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListViewItem}}, Path=IsSelected}" Value="True" />
<Condition Binding="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListViewItem}}, Path=Selector.IsSelectionActive}" Value="True" />
</MultiDataTrigger.Conditions>
<Setter Property="Foreground" Value="White"/>
</MultiDataTrigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" />
</Trigger>
</Style.Triggers>
</Style>
Quand je l'utilise comme est-ce que cela ne rend pas le premier plan blanc comme on s'y attendrait lorsque l'élément est sélectionné. Il met le premier plan en gris si la commande n'est pas activée comme prévu. Si je supprime la condition pour Selector.IsSelectionActive, le premier plan devient blanc lorsque l'élément est sélectionné, mais il est également blanc si l'élément est sélectionné mais pas actif .... Je veux que la sélection inactive soit verte. J'ai essayé cela aussi avec juste un plan Textblock, un bouton avec un style très basique ... rien ne semble fonctionner.
La liste list est dans un contrôle utilisateur utilisé dans un autre contrôle utilisateur. Le Datatemplate est dans le resourcedictionary du deuxième contrôle utilisateur, et lié à une propriété de dépendance du premier contrôle utilisateur de type DataTemplate, et le style pour le lien hypertexte est dans un Resourcedictionary séparé.
Toute aide sera très appréciée
Tu es mon héros :-) Ajout des parenthèses œuvres merci beaucoup :-) – skitnica
@skitnica - si @Rune est en effet votre héros, marquer cela comme la réponse et le vote lui ... –
Rune Andersen est mon héros de la journée !!! (4 heures de temps perdu avant que j'ai vu cette réponse) –