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

Windows Presentation Foundation Discussion :

Comment affecter une même animation a different controles ?


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 33
    Par défaut Comment affecter une même animation a different controles ?
    Bonjour,

    j'imagine que cette question à deja due être posé plusieurs fois, mais cela fait un moment que je cherche la reponse sans succés.

    On crée un storyboard dans les resources d'un UserControl, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <Storyboard x:Key="ImageZoom">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetName="mBtnVideoImage" Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleX)">
                    <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0.8"/>
                    <SplineDoubleKeyFrame KeyTime="00:00:00.1" Value="1.2"/>
                    <SplineDoubleKeyFrame KeyTime="00:00:00.3" Value="1.0"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetName="mBtnVideoImage" Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleY)">
                    <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0.8"/>
                    <SplineDoubleKeyFrame KeyTime="00:00:00.1" Value="1.2"/>
                    <SplineDoubleKeyFrame KeyTime="00:00:00.3" Value="1.0"/>
                </DoubleAnimationUsingKeyFrames>
            </Storyboard>
    Dans l'exemple ci-dessus, j'ai affecter mon animation au bouton "mBtnVideoImage".

    Maintenant si je souhaite utiliser la même animation sur un autre element, comment puis-je parametrer la propriété "TargetName" de mon animation pour ne pas avoir a dupliquer cette definition autant de fois que j'ai d'element a affecter?

    Il semble que ce ne soit pas possible en XAML, par contre je ne trouve pas d'exemple representatif en code behind ?

    Merci.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 33
    Par défaut
    Hahaha, je suis désolé du dérangement, je viens de trouver très bétement la réponse !!

    Il suffit d'utiliser x:Null !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <Storyboard x:Key="ImageZoom">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetName="{x:Null}" Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleX)">
                    <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0.8"/>
                    <SplineDoubleKeyFrame KeyTime="00:00:00.1" Value="1.2"/>
                    <SplineDoubleKeyFrame KeyTime="00:00:00.3" Value="1.0"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetName="{x:Null}" Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleY)">
                    <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0.8"/>
                    <SplineDoubleKeyFrame KeyTime="00:00:00.1" Value="1.2"/>
                    <SplineDoubleKeyFrame KeyTime="00:00:00.3" Value="1.0"/>
                </DoubleAnimationUsingKeyFrames>
            </Storyboard>
    Maintenant quelque soit l'element auquel j'affecte le storyboard, ca fonctionne !


    Ce qui est etrange c'est que sur MSDN, il est indiqué que la valeur par défaut de TargetName est null (voir ici). Toutefois si je ne spécifie pas TargetName dans l'animation, rien ne se produit !?

    Ou alors, est-ce que j'ai raté autre chose ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] Affecter une même procédure à plusieurs controles d'un formulaire
    Par Jeannot45 dans le forum VBA Access
    Réponses: 8
    Dernier message: 29/06/2013, 09h14
  2. Comment affecter une image a un PictureBox par code?
    Par ayouss dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 25/07/2006, 08h26
  3. Réponses: 3
    Dernier message: 18/07/2006, 10h17
  4. comment mettre une image animée
    Par thecancre dans le forum Graphisme
    Réponses: 9
    Dernier message: 24/05/2006, 12h59
  5. comment afficher une image animée dans un formulaire
    Par dadamovic dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 13/05/2006, 18h59

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