Bonjour,
J'ai une question sur WPF, plus particulièrement sur les DataTrigger.
J'aurais voulu savoir s'il existe un moyen de les factoriser.
Je m'explique :
J'ai un premier TextBlock :
J'ai un second TextBlock :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <TextBlock Text="{Binding Nom}"> <TextBlock.Style> <Style> <Style.Triggers> <DataTrigger Binding="{Binding Booleen1}" Value="True"> <Setter Property="TextBlock.Foreground" Value="Black" /> </DataTrigger> <DataTrigger Binding="{Binding Booleen1}" Value="False"> <Setter Property="TextBlock.Foreground" Value="Red" /> </DataTrigger> </Style.Triggers> </Style> </TextBlock.Style> </TextBlock>
Les DataTrigger font la même chose : le texte est noir quand le booléen vaut vrai et rouge quand il vaut faux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <TextBlock Text="{Binding Prenom}"> <TextBlock.Style> <Style> <Style.Triggers> <DataTrigger Binding="{Binding Booleen2}" Value="True"> <Setter Property="TextBlock.Foreground" Value="Black" /> </DataTrigger> <DataTrigger Binding="{Binding Booleen2}" Value="False"> <Setter Property="TextBlock.Foreground" Value="Red" /> </DataTrigger> </Style.Triggers> </Style> </TextBlock.Style> </TextBlock>
La seule différence entre les deux c'est qu'ils ne se bindent pas sur le même booléen (Booleen1 et Booleen2).
Existe-t-il un moyen quelconque de "factoriser" pour ne créer qu'un DataTrigger et dans chaque style de TextBlock, on n'aurait qu'à spécifier sur quel booléen se binder?
Merci.
Partager