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 :

Scale avec StoryBoard par codage


Sujet :

Silverlight

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 36
    Par défaut Scale avec StoryBoard par codage
    Salut tout le monde,

    Après m'être cassé les dents à rechercher un peu partout sur le net, je n'ai pas réussi à trouver la solution à mon problème, je m'en remet donc à la communauté Silverlight.

    Je veux créer un StoryBoard en C# pour changer le Scale d'un nombre aléatoire de rectangle. Là où ça semble bloquer, c'est avec le SetTargetProperty. J'ignore quoi écrire. J'ai essayer plusieurs truc sans succès. Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Storyboard.SetTargetProperty(animation, "ScaleY");
    Quelqu'un pourrait éclairer ma lanterne?

  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
    Ca dépend sur quoi pointe ton Storyboard.

    S'il pointe sur ton RenderTransform (ScaleTransform) alors c'est bien ScaleY, s'il pointe sur ton objet entier alors il faut mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (RenderTransform).(ScaleY)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 36
    Par défaut
    Je dois surement m'y prendre mal dès le départ. J'arrive pas à avoir de résultat qui fonctionne.

    Voici en gros mon code, j'ai décortiquer des exemples que j'ai vu sur la toile, j'essaie de faire marcher le tout.

    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
    20
    private void JetonRapetisse()
            {
                Storyboard JetonDisapear = new Storyboard();
                JetonDisapear.Duration = TimeSpan.FromSeconds(1);
                DoubleAnimation myDoubleAnimation = new DoubleAnimation();
                myDoubleAnimation.Duration = TimeSpan.FromSeconds(1);
                JetonDisapear.Children.Add(myDoubleAnimation);
                DoubleAnimation myDoubleAnimation2 = new DoubleAnimation();
                myDoubleAnimation2.Duration = TimeSpan.FromSeconds(1);
                JetonDisapear.Children.Add(myDoubleAnimation2);
                Storyboard.SetTarget(myDoubleAnimation, jetonArray[2, 2].JetonRectangle);
                Storyboard.SetTarget(myDoubleAnimation2, jetonArray[2, 2].JetonRectangle);
                Storyboard.SetTargetProperty(myDoubleAnimation, (RenderTransform).(ScaleY));
                Storyboard.SetTargetProperty(myDoubleAnimation2, new PropertyPath(ScaleTransform.ScaleXProperty));
                myDoubleAnimation.To = 0.1;
                myDoubleAnimation2.To = 0.1;
                this.Resources.Add("jetondisapear", JetonDisapear);
                JetonDisapear.Begin();
            }
        }

  4. #4
    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
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    Storyboard.SetTargetProperty(myDoubleAnimation, new PropertyPath("(RenderTransform).(ScaleY)"));

    Il faut bien entendu que tes objets JetonRectangle aient un ScaleTransform dans leur propriété RenderTransform.

    D'ailleurs tu n'as pas besoin de rajouter ton Storyboard à tes Resources pour que ça fonctionne

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 36
    Par défaut
    Je vais enlever mon StoryBoard de mes ressources. Mais le truc RenderTransform et ScaleTransform, faudrais que je fasse quoi avec ça?

  6. #6
    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
    Le RenderTransform d'un objet permet d'effectuer des transformations de rendu (Rotation, Agrandissement...). Dans ton cas tu veux effectuer un agrandissement (ScaleTransform). Il faut donc que tes objets en possèdent déjà une (l'animation ne va pas la créer pour toi).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if((jetonArray[2, 2].JetonRectangle.RenderTransform is ScaleTransform) == false) jetonArray[2, 2].JetonRectangle.RenderTransform = new ScaleTransform();
    Sinon tu peux aussi la créer à la création de tes objets.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Août 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 36
    Par défaut
    Super, merci beaucoup Skyou

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

Discussions similaires

  1. Envoi de paramètre popup --> parent avec rechargement par
    Par senacle dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 29/06/2018, 16h59
  2. [GD] Envoyer une image générée avec GD par mail
    Par firejocker dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 27/12/2005, 15h42
  3. comment faire un espace privé....avec confirmation par mail
    Par brisso dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 30/11/2005, 10h24
  4. Buotons radios avec validation par boite de dialogue
    Par alexbubs dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 16/10/2005, 18h21
  5. [Système] Ouvrir fichier externe avec prog par défaut de l'OS
    Par Pill_S dans le forum API standards et tierces
    Réponses: 9
    Dernier message: 30/05/2004, 11h54

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