Bon. Un peu déçu de constater que ça ne semble intéresser personne.
En fin de compte j'ai contourné mon problème en procédant autrement :
J'utilise un trigger sur la modification de la valeur de la propriété liée plutôt que le fait qu'elle soit non nulle :
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
<TextBlock.Triggers>
<EventTrigger RoutedEvent="Binding.TargetUpdated">
<BeginStoryboard>
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity">
<LinearDoubleKeyFrame KeyTime="0:0:0" Value="1" />
<LinearDoubleKeyFrame KeyTime="0:0:2" Value="1" />
<LinearDoubleKeyFrame KeyTime="0:0:2.5" Value="0" />
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</TextBlock.Triggers> |
Et lors de l'instanciation de mon contrôle je le lie avec :
Text="{Binding MessageInfo, NotifyOnTargetUpdated=True}"
(MessageInfo étant bien sûr ma propriété liée côté Model View)
De cette façon il réagit bien à chaque affectation d'un nouveau message à afficher. Par contre évidemment si je tente de réafficher le même message plusieurs fois cela ne marche pas. Mais je ne vois pas comment faire autrement. Ca reste au moins une solution que je trouve relativement élégante et respectueuse du MVVM.
En espérant que ça aide d'autres devs...
Partager