IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Silverlight Discussion :

[Animation] Simple mais ?


Sujet :

Silverlight

  1. #1
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut [Animation] Simple mais ?
    je veux faire une animation de couleur sur un rectangle simple
    mais j'arrive pas a comprendre pourquoi ca demarre pas

    Code : 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
     
    <Grid x:Name="LayoutRoot" Background="White" >
    		<vsm:VisualStateManager.VisualStateGroups>
    			<vsm:VisualStateGroup x:Name="CommonStats">
    				<vsm:VisualStateGroup.Transitions>
    					<vsm:VisualTransition Duration="00:00:00" From="Click"/>
    				</vsm:VisualStateGroup.Transitions>
    				<vsm:VisualState x:Name="Click">
    					<Storyboard>
    						<ColorAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="rectangle" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">
    							<SplineColorKeyFrame KeyTime="00:00:00" Value="#FFFB0000"/>
    							<SplineColorKeyFrame KeyTime="00:00:02" Value="#FF9CFB00"/>
    						</ColorAnimationUsingKeyFrames>
    					</Storyboard>
    				</vsm:VisualState>
    			</vsm:VisualStateGroup>
    		</vsm:VisualStateManager.VisualStateGroups>
    		<Rectangle HorizontalAlignment="Left" Margin="92,220,0,182" VerticalAlignment="Stretch" Width="163" Fill="#FFFFFFFF" Stroke="#FF000000" x:Name="rectangle"/>
    	</Grid>
    kekun a une idee ?

  2. #2
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Pourquoi tu utilises le VSM ?

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <Grid x:Name="LayoutRoot" Background="White">
        <Grid.Resources>
            <Storyboard x:Name="sbRectangle">
                <ColorAnimation From="Blue" To="Red" Storyboard.TargetName="myRect" Storyboard.TargetProperty="(Fill).(Color)" />
            </Storyboard>
        </Grid.Resources>  
        <Rectangle x:Name="myRect" Fill="Blue" MouseLeftButtonDown="myRect_MouseLeftButtonDown" />
    </Grid>

    Et l'event

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    private void myRect_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
    {
        sbRectangle.Begin();
    }

  3. #3
    Membre chevronné
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 288
    Par défaut
    Il faut que tu utilises le VisualStateManager pour lancer ton animation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    VisualStateManager.GoToState(this, "Click", true);

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut
    en silverlight on peut pas lancer l'animation directos sans passer par le code behind ?

  5. #5
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par ikeas Voir le message
    en silverlight on peut pas lancer l'animation directos sans passer par le code behind ?
    Seulement sur l'évènement Load. Pas sur le clic par exemple.

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut
    et ca donnerais quoi mon code par exemple sur l'evement load ?

  7. #7
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par ikeas Voir le message
    et ca donnerais quoi mon code par exemple sur l'evement load ?
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <Rectangle x:Name="myRect" Fill="Blue">
        <Rectangle.Triggers>
            <EventTrigger>
                <BeginStoryboard>
                    <Storyboard>
                        <ColorAnimation From="Blue" To="Red" Storyboard.TargetName="myRect" Storyboard.TargetProperty="(Fill).(Color)" />
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>
        </Rectangle.Triggers>
    </Rectangle>

    Avant on pouvait faire <EventTrigger RoutedEvent="LeNomdelevent"> mais ça ne fonctionne plus.

  8. #8
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut
    et (sans vouloir et trop chiant) en utilisant les VisualState ?
    comme ca on aura fait le tour

  9. #9
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par ikeas Voir le message
    et (sans vouloir et trop chiant) en utilisant les VisualState ?
    comme ca on aura fait le tour
    Le VSM a été fait pour être utilisé avec les contrôles, c'est pas un moteur d'animation.
    C'est juste un mécanisme pour customiser dynamiquement l'aspect des contrôles.

  10. #10
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut
    merci mais ce qui est tres embettant dans la demarche c'est qu'avec blend on ne peut pas modifier directement l'animation une fois qu'eelle a ete integré au l'element ...
    avec la time line je voulais dire

  11. #11
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par ikeas Voir le message
    merci mais ce qui est tres embettant dans la demarche c'est qu'avec blend on ne peut pas modifier directement l'animation une fois qu'eelle a ete integré au l'element ...
    avec la time line je voulais dire
    Hum possible. J'utilise pas Blend en fait, je fais tout à la main

  12. #12
    Membre habitué
    Inscrit en
    Octobre 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 12
    Par défaut
    Bonjour.
    J'ai un peu le même problème ...
    J'ai du faire une animation pur dans blend...
    aucune interaction juste une anim.
    me demandé pas pourquoi les clients ont des idées bizarres des fois
    Alors après avoir galérai comme il ce doit puisque c'était la première foi que j'utilise ce logiciel qu'est blend qui après réalisation de l'anim. me certifie que ce logiciel n'est vraiment pas fait pour ça
    ET bien l'anim. ne ce lance pas
    j'ai éssayer de placer <BeginStoryboard></BeginStoryboard> autour des balises du storyboard mais rien ne change...
    une petite idée?
    et sinon quand je lance l'aperçu tout ce qui dépasse de mon cadre layoutRoot apparait
    Je ne comprend pas trop comment faire
    et le code ne m'aide pas plus...

    <Grid x:Name="LayoutRoot" Background="#FF000000">
    <Grid.RowDefinitions>
    <RowDefinition Height="0.453*"/>
    <RowDefinition Height="0.547*"/>
    </Grid.RowDefinitions>
    pourquoi ia t il deux fois la balise height ? et à quoi peut bien correspondre ces 0.xxx* si je met la taille de ma scene 955*600 ça fou tout en l'air
    Merci d'avance

  13. #13
    Membre chevronné
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 288
    Par défaut
    Il faut que tu nommes ton StoryBoard :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <StoryBoard x:Name="MonAnimation" >
    ...
    </StoryBoard>
    et dans le code c# :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MonAnimation.Begin();

    edit: Je te conseille de regarder l'excellent article de Skyounet sur les Animations Silverlight :
    http://broux.developpez.com/articles...s-silverlight/

  14. #14
    Membre habitué
    Inscrit en
    Octobre 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 12
    Par défaut
    trop cool merci !!
    ma petite anim ce lance tout seul
    ma première réponse ça fait plaisir

  15. #15
    Membre habitué
    Inscrit en
    Octobre 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 12
    Par défaut
    Bon et là je vais abusé un peu
    comment faire pour enfermer mon anim. dans une certaine taille (955*600) car tout ce qui dépasse de mon LayoutRoot apparait ?

  16. #16
    Membre chevronné
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 288
    Par défaut
    J'ai pas compris ton 2ème problème, quand ton anime se lance tout n'apparait pas dans ton Layout c'est ca ?

  17. #17
    Membre habitué
    Inscrit en
    Octobre 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 12
    Par défaut
    Tout d'abord merci de l'intérêt que tu porte au poste
    bien en fait je bosse à partir de Blend...
    dans mon anim. des images ou objet sont bien plus grand que ma scène/LayoutRoot (je sais pas si on peut comparé, je suis flasheur)
    et mon layoutRoot à l'origine avait une taille précise:900*600
    Mais après avoir bidouillé(animé) les dimension du layoutRoot ce sont transformé en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	<Grid.RowDefinitions>
    			<RowDefinition Height="0.453*"/>
    			<RowDefinition Height="0.547*"/>
    		</Grid.RowDefinitions>
    aucune idée de ce à quoi correspond tout cela ...
    la seul ligne qui à conservée les dimensions que j'avais renseigné au départ est celle là
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Width="955" Height="600" Background="#FF000000" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d">
    et quand je lance mon anim.(F5) et bien tout ce qui dépasse de ma scène apparait...
    Je sais pas si je suis très clair désolé mais tout cela est vraiment flou pour moi j'en suis qu'à mon 3eme jour de Blend^^
    Dans tous les cas merci pour ton aide

  18. #18
    Membre chevronné
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 288
    Par défaut
    Tient déjà, si tu parles bien anglais, tu trouveras la réponse à ton problème de Grille Ici :

    http://weblogs.asp.net/scottgu/pages...anagement.aspx

    Ensuite
    bien tout ce qui dépasse de ma scène apparait...
    Qu'est ce que tu appelles une scène ? et qu'est ce qui apparait car c'est un peu flou pour moi aussi

  19. #19
    Membre habitué
    Inscrit en
    Octobre 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 12
    Par défaut
    Bien en fait je vais prendre exemple sur flash...
    quand je fait un flash je précise la taille de ma scène si je lui dit que la scene fait 955*600 le swf fera cette taille et tout ce qui ce passe en dehors de cette zone n'apparaitra pas, donc j'ai essayer de faire la même chose en précisant que mon layoutRoot faisait 955*600 mais après animation ces tailles on disparu du XAML et tout ce qui est à l'extérieur de cette zone apparait...
    l'animation n'est pas contenu dans le format du layouRoot?

  20. #20
    Membre habitué
    Inscrit en
    Octobre 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 12
    Par défaut
    Merci pour le lien!
    En effet ça aurait pu être une piste mais si je retire les dimension de "user control" alors le background s'étend en 100% width et height mais du coup il recentre l'anim. et tout bouge ça explose tout quoi ...

Discussions similaires

  1. Probleme simple, mais grave!
    Par vienin dans le forum C++
    Réponses: 15
    Dernier message: 09/12/2005, 01h05
  2. [Javadoc]La Javadoc et un problème... simple mais paralysant
    Par lionrouge dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 09/12/2005, 00h00
  3. Réponses: 6
    Dernier message: 27/04/2005, 15h46
  4. requete a 1er vue simple mais a 2em vue... :(
    Par exyacc dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/03/2005, 09h05
  5. Pb de COUNT et GROUP BY simple mais sans requête imbriquées
    Par vanquish dans le forum Langage SQL
    Réponses: 3
    Dernier message: 22/10/2004, 09h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo