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

C# Discussion :

silverlight multiple definition d'un objet


Sujet :

C#

  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    786
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 786
    Points : 602
    Points
    602
    Par défaut silverlight multiple definition d'un objet
    Bonjour j'ai fait un petit timer qui appelle une fonction qui creer une STORYBOARD puis la lance.
    Le seul probleme c'est lorsque le timer rappelle la function pour une deuxieme fois il me dit que l'objet sur la scene existe deja.(j'ai plus le code sous la main sinon je detaillerai l'erreur)

    Donc comment faire pour lancer une animation qui n' est pas la meme mais bien une duplication toutes les x secondes.

    Merci

  2. #2
    Membre confirmé Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Points : 513
    Points
    513
    Par défaut
    Salut,
    est-ce que tu nommes ton storyboard ? Si tel est le cas, fais bien attention à ce que le nom soit différent.

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    786
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 786
    Points : 602
    Points
    602
    Par défaut re
    Oui je le nomme la ligne qui preche est :
    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
    public void Each_Tick(object o, EventArgs sender)
            {
                Storyboard sb = new Storyboard();
                Storyboard.SetTargetName(sb, "tortue");
                Storyboard.SetTargetProperty(sb, new PropertyPath("(Canvas.Left)"));
     
                DoubleAnimation da = new DoubleAnimation();
                da.Duration = new TimeSpan(0, 0, 10);
                da.From = 0.0;
                da.To = -1500.0;
                da.RepeatBehavior = RepeatBehavior.Forever;
     
                ElasticEase ee = new ElasticEase();
                ee.EasingMode = EasingMode.EaseOut;
                da.EasingFunction = ee;
     
                sb.Children.Add(da);
                LayoutRoot.Resources.Add("tort_sb", sb); // ici
                (LayoutRoot.Resources["tort_sb"] as Storyboard).Begin();
            }
    Je dois faire avec une globale que j'incremente pour changer le nom ?


    Merci

  4. #4
    Membre confirmé Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Points : 513
    Points
    513
    Par défaut
    Salut,
    tu n'as pas besoin de l'ajouter dans les ressources, d'ailleurs c'est à cause de son identifiant dans les ressources de ta grille LayoutRoot que ça plante.
    Mais tu n'as pas moyen de le créer une seule fois (en XAML) et de le déclencher à chaque période du timer, en gardant le même objet Storyboard ?

  5. #5
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    786
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 786
    Points : 602
    Points
    602
    Par défaut re
    Non je ne peux pas trop faire comment ca,
    mais du coup si je ne l'ajoute pas dans les ressources il ne trouve pas l'image qu'il doit animer !

    Le truc c 'est que je veux qu'au debut il y ai une animation puis 2 puis 3 puis 4 etccc qui tourne en boucle !

    merci

  6. #6
    Membre confirmé Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Points : 513
    Points
    513
    Par défaut
    Il ne trouve pas l'image parce que tu spécifies la cible de l'animation par son nom, mais tu peux la spécifier directement avec la propriété de dépendance attachée Storyboard.Target.
    Du coup du peux faire par ex.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    private object _tortue;
     
    override void OnApplyTemplate()
    {
        this._tortue = this.FindResource("tortue"); //si "tortue" est dans les ressources
    }
     
    ...
    Storyboard.SetTarget(sb, this._tortue);
    ...

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 19/09/2006, 15h42
  2. Multiple definition
    Par vdumont dans le forum C++
    Réponses: 6
    Dernier message: 11/05/2006, 19h21
  3. multiple definition of operator<<...
    Par kleenex dans le forum C++
    Réponses: 3
    Dernier message: 05/05/2006, 02h56
  4. [LG]Interfaces et multiples définitions
    Par fatt dans le forum Langage
    Réponses: 2
    Dernier message: 15/04/2004, 22h41
  5. multiple definition
    Par scorbo dans le forum C
    Réponses: 5
    Dernier message: 10/09/2003, 13h16

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