J'ai une question qui a été me tracasse depuis un certain temps:Quel est le comportement d'un déclencheur WPF 4 ControlStoryboardAction?
J'ai une opération longue IO que j'invoque de manière asynchrone, et je veux que mon interface utilisateur pour afficher un texte clignotant pour dire aux utilisateurs que le chargement des données.
J'ai un IsLoading propriété booléenne dans mon ViewModel, et j'ai utilisé un ControlStoryboardAction pour lancer l'animation clignotante, qui est définie pour répéter pour toujours. Pour mon déclencheur ControlStoryboardAction, j'ai configuré un déclencheur de données pour voir si IsLoading est vrai et démarrer mon storyboard si cela est vrai.
Mon problème est, quand mon opération d'E/S revient, et j'ai mis IsLoading à false, l'animation continue à jouer. Je pensais qu'une fois la condition de déclenchement évaluée à false, cela arrêterait l'animation?
J'ai ensuite ajouté un second ControlStoryboardAction pour arrêter l'animation si IsLoading a été évalué à false, mais cela n'a eu aucun effet. L'animation a continué à jouer après IsLoading était faux. Est-ce que quelqu'un peut m'expliquer comment le déclencheur fonctionne dans ControlStoryboardAction? Dans les déclencheurs de données normaux dans WPF, une fois la condition évaluée à false, la propriété reprendrait son état d'origine. Il semble que les déclencheurs dans les actions WPF ne fonctionnent pas de la même manière?