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 :

Accéder aux éléments XAML à partir d'une autre classe


Sujet :

Silverlight

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 20
    Points : 14
    Points
    14
    Par défaut Accéder aux éléments XAML à partir d'une autre classe
    Bonjour,

    Etant débutant en silverlight, j'ai un petit soucis avec mon code, voici le problème.

    Pour ce projet j'ai souhaité utiliser le pattern MVVM.
    J'ai donc un fichier xaml : Page.xaml avec toute l'interface graphique et notamment 2 storyboards.
    J'ai un autre fichier CoursesViewModel.cs qui est une classe héritant de la classe ViewModel qui implémente INotifyPropertyChanged.

    J'aurai souhaité accéder aux storyboards ou d'autres élements de mon fichier Page.xaml dans ma classe CoursesViewModel.

    Comment m'y prendre ?

    Merci par avance,

    Cordialement.

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

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Bah il te faut une référence sur ta classe Page.

    Ensuite tu pourras faire page.Storyboard1 par exemple.

  3. #3
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Points : 8 538
    Points
    8 538
    Par défaut
    Citation Envoyé par Skyounet Voir le message
    Bah il te faut une référence sur ta classe Page.

    Ensuite tu pourras faire page.Storyboard1 par exemple.
    Non, là tu casses le pattern MV-VM. Le ViewModel n'a pas de référence sur la View, il est bindé à elle.

    La question est pourquoi tu souhaites accéder aux storyboards ou d'autres élements de ton fichier Page.xaml dans la classe CoursesViewModel ? Car si tu suis le pattern MV-VM, ton ViewModel n'a aucune connaissance de l'existance de ta vue (page.xaml).

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    Merci pour vos réponses.

    Pourquoi je souhaite accéder aux storyboards ou d'autres élements de mon fichier Page.xaml dans la classe CoursesViewModel ?
    En fait, j'ai une méthode (en C#) qui va géré mon storyboard et ma DoubleAnimation : Modifié le targetname property, le from, le to, lancer l'animation, stopper... suivant le bouton qui appelle la méthode.

    Le seul moyen que j'ai, tout en concervant le pattern MVVM, est donc de mettre ma méthode dans page.xaml.cs ?

  5. #5
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Points : 8 538
    Points
    8 538
    Par défaut
    Citation Envoyé par Keitboor Voir le message
    Le seul moyen que j'ai, tout en concervant le pattern MVVM, est donc de mettre ma méthode dans page.xaml.cs ?
    Oui, car tu manipules des objets graphiques dont le view model ne doit pas se préocuper. Maintenant, ta méthode peut être déclanchée suite à des évènements venants du view model.

Discussions similaires

  1. Accéder aux éléments du Dom d'une page inclue avec une balise object
    Par Aloneghost dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 02/04/2011, 21h06
  2. comment accéder aux ressources locales à partir d'une appli web
    Par lginoux dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 01/04/2009, 10h46
  3. Comment accèder aux composants graphique à partir d'un autre thread ?
    Par PerpetualSnow dans le forum Windows Forms
    Réponses: 6
    Dernier message: 07/03/2007, 11h11
  4. [JtextArea] Y accéder à partir d'une autre classe
    Par harris_macken dans le forum Composants
    Réponses: 16
    Dernier message: 12/06/2005, 00h27
  5. Réponses: 22
    Dernier message: 03/02/2005, 16h43

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