Salut
J'ai un storyboard dans ma View
Comment faire pour la lancer à partir de mon ViewModel ?
Merci
Salut
J'ai un storyboard dans ma View
Comment faire pour la lancer à partir de mon ViewModel ?
Merci
Via un trigger bindé sur une propriété de ton viewmodel.
Via un message déclenché depuis ton ViewModel et intercepté dans ta vue, qui se chargera ensuite de démarrer ton Storyboard.
Thomas LEBRUN: MCAD.NET, MCTS (Win et Web), MCPD(Win et Web) & Microsoft MVP Client Application Development
WPF par la pratique, mon livre sur WPF ! (également disponible ici ou là)
A la découverte de .NET
Je débute, je n'ai pas trop compris comment faire.
Avez-vous un petit exemple, s'il vous plait ?
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 <UserControl.Resources> <Storyboard TargetName="arc" AutoReverse="False" x:Key="myStory"> <Codedustory /> </Storyboard> <UserControl.Resources> <UserControl.Triggers> <EventTrigger RoutedEvent="?????" SourceName="??????"> <BeginStoryboard Storyboard="{StaticResource myStory}" /> </EventTrigger> </UserControl.Triggers>
La meilleure solution est celle proposée par Thomas.
Si t'as des problèmes de compréhension du MVVM, le toolkit MVVM Light est un début pour commencer et de plus propose la classe Messenger qui te permet de communiquer assez facilement avec ta vue.
Je veux bien faire comme Thomas a dit, mais je dois utiliser les datatrigger ?
Autre chose ?
Un petit morceau de code par exemple ?
J'ai rédigé un article y'a pas longtemps qui traite de ça justement :
http://blog.lordinaire.fr/2011/05/16...-le-viewmodel/
Cette réponse vous a aidé ?
Problème résolu ?
J'ai l'impression qu'il me manque des dll pour suivre ton tutos.
Ceci ne marche pas
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"
Donc les balises associés ne sont pas dispos.
Est ce que cet exemple marce aussi en WPF ?
Je fais du 3.5
L'exemple marche aussi bien pour Silverlight que pour WPF, il te manque juste des références dans ton projet. Est-ce que tu utilises Blend 4 ? Dans le cas contraire, il faut que tu l'installes sinon le SDK devrait suffire. Ensuite, ajoute les références suivantes à ton projet :
- System.Windows.Interactivity.dll
- Microsoft.Expression.Interaction.dll
Cette réponse vous a aidé ?
Problème résolu ?
Ceci devrait suffir ?
http://www.microsoft.com/downloads/f...2-6c07c6a00207
J'ai télécharger Blind 4, mis le SDK.
Mais apparemment comme c'est un projet 3.5, je ne peux pas utiliser ces librairies
Suis largué aussi avec le MVVM Light Toolkit
J'ai lu ce tuto:
http://nico-pyright.developpez.com/t...t-silverlight/
J'utilise ça:
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <i:Interaction.Triggers> <i:EventTrigger EventName="???"> <cmd:EventToCommand Command="{Binding StartCommand}" /> </i:EventTrigger> </i:Interaction.Triggers>
Mais je n'arrive pas à le rattacher pour que ça lance le storyboard
Non non !
Il ne faut pas passer par les commandes pour pouvoir lancer ton animation mais par la classe Messenger.
Les étapes :
- Dans ta Vue (ta fenêtre par exemple) tu t'enregistres pour la reception d'un certain type de messages
- Dans ta Vue-Modèle tu envoies un message tout en ne sachant pas qui est-ce qui va le traiter. L'envoi de ce message se fera par l'intermédiaire d'une commande (RelayCommand en MVVM LIght). Une fois le message envoyé, les vues qui se sont abonnées à ce type de message sauront comment le traiter.
Le 2 est fait.
Mais pour le je ne vois pas quel balise XAML mettre.
C'est bon, c'est réglé je suis passé à VS2010 Express
Merci pour votre aide
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager