Commencer une animation à partir de ce Dernier dans WPF/MVVM
Je suis en train d'écrire un MVVM application et ont commencé à mettre dans un peu d'animations. Je veux l'appeler quelque chose dans le ViewModel qui commence le storyboard. Ce blog a une approche prometteuse pour elle, mais il ne fait pas travailler. Le IDChanged gestionnaire n'est jamais déclenché pour une raison quelconque.
J'ai aussi trouvé que l'on pouvait lancer des animations sur EventTriggers, mais je ne sais pas comment élever dans le ViewModel.
OriginalL'auteur RandomEngy | 2010-03-28
Vous devez vous connecter pour publier un commentaire.
Je l'ai fait en une à l'aide de DataTrigger et de la lier à un bien dans mon ViewModel. Lorsque le "FlashingBackGround de la propriété" est défini SUR "on", le Storyboard animation commence.
Aussi assurez-vous d'inclure dans votre projet une référence à "Microsoft.De l'Expression.Les Interactions"
XAML: (cela va directement dans le nœud racine)
ViewModel:
Enfin, le Viewmodel doit hériter de "INotifyPropertyChanged"
boolean
au lieu d'un "on"/"OFF" de la chaîne?Assurez-vous d'ajouter le "System.Windows.Interactivity.dll" trop.
J'ai utilisé une valeur Booléenne, mais cela a très bien fonctionné!
OriginalL'auteur CowboyBebop
J'ai un bien dans ma VM qui reflète l'état de l'application. Les éléments de la vue qui sont animés des données détente qui commence un storyboard, lorsque la machine virtuelle de la propriété a une certaine valeur.
Je n'ai pas envisagé de généraliser, donc je ne sais pas si cela vous aide. Une fois, j'ai eu un besoin similaire. J'ai eu de 'flash' sur un bouton si il n'y a pas eu d'activité pendant une minute. Je l'ai fait en ayant une table de montage jointe à la touche, la table de montage séquentiel serait de ne rien faire pendant une minute, puis faire le flash. Dans mon cas, le bouton a disparu lorsque cliqué, donc il a fait le scénario le plus simple. Un flash sur un élément de l'INTERFACE utilisateur pour attirer l'attention des sons comme liées. Est-il un moyen de la vue peut déterminer quand le flash est par lui-même? Pourquoi la VM de soins sur le flashage d'un élément d'INTERFACE? Désolé, c'est peut-être pas beaucoup d'aide.
Ainsi, plusieurs commandes feu sur une fenêtre déclencherait ce flash dans une autre fenêtre. Mon fenêtrage modèle est établi tel que la VM connaît les relations entre les fenêtres, mais les points de vue ne le sont pas.
Avez-vous un exemple de code sur ce DataTrigger? J'ai essayé et ça n'a pas vraiment fonctionné avec mon DataBindings
J'ai un exemple qui utilise la valeur de texte d'un élément de modèle.
OriginalL'auteur Carlos
J'ai fini par l'ajout d'un AnimationStarted événement à mon ViewModel avec une clé à chaîne pour que l'animation c'est. Puis, sur le point de vue, je créer l'animation, de la programmation, abonnez-vous à la AnimationStarted de l'événement, et le coup de pied de l'animation appropriée lorsqu'il se déclenche.
OriginalL'auteur RandomEngy
J'ai rencontré le même problème, et aucun de ces postes a vraiment aidé parce que les animations sont dans le code, et certains d'entre eux étaient de grands et complexes et appellent fluctuations des variables de sorte qu'ils devaient rester dans le code. Je l'ai résolu en ajoutant des propriétés de dépendance dans le contrôle de l'utilisateur (point de vue) qui déclenchent les animations, et les liant à des propriétés dans la vue modèle. Ne sais pas (/soins) si cela est une violation de quelque chose ou l'autre, parce qu'il fonctionne très bien! cheers, stepp
extrait:
(afficher) code Usercontrol derrière:
Vue-Modèle:
OriginalL'auteur JGU