Bonjour,
J'aimerai que certains éléments d'un contrôle (ListView ou autre) soient barrés.
Pour cela, j'ai vu qu'il existait la valeur Strikethrough de la propriété TextDecorations pour les TextBlock.
Du coup, j'ai essayé de faire ça : (sachant qu'après je rajouterai un trigger pour que seuls les éléments adéquats soient barrés)
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 <Style TargetType="{x:Type ListViewItem}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ListViewItem}"> <TextBlock VerticalAlignment="Center"> <ContentPresenter /> </TextBlock> <ControlTemplate.Resources> <Style TargetType="{x:Type TextBlock}"> <Setter Property="Foreground" Value="Red" /> <Setter Property="TextDecorations"> <Setter.Value> <TextDecorationCollection> <TextDecoration Location="Strikethrough" PenOffset="0.75" /> </TextDecorationCollection> </Setter.Value> </Setter> </Style> </ControlTemplate.Resources> </ControlTemplate> </Setter.Value> </Setter> </Style>
Mais ce que je n'aime pas, c'est que seul le texte est barré et pas la totalité de l'item. (sans compter que dans mon exemple, on perd la couleur de fond quand on survole ou sélectionne l'élément)
Y'a-t-il un moyen de barrer tout l'item ? (en passant ou pas par un ControlTemplate et les TextDecorations)
Merci d'avance.
Partager