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 :

Communication entre usercontrol et page


Sujet :

Silverlight

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2010
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 101
    Par défaut Communication entre usercontrol et page
    Bonjour à tous,

    Deuxième question en une journée, je me sens pas très productif aujourd'hui...

    Voilà dans mon projet, j'ai une page principal (MainPage : usercontrol) où se trouve un boolean et je souhaite modifier cette valeur dans une autre page (Home : Page).

    Je pense qu'il faut que je récupère l'instance du MainPage mais je ne sais pas comment faire!!

    Merci

  2. #2
    Membre Expert
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Par défaut
    Il vaudrait mieux que tu mettes en places un object contenant ta propriété boolean et qu'il soit commun à tes deux pages.

    Si en plus cet objet utilise la pattern MVVM, alors là c'est top.

  3. #3
    Membre confirmé
    Inscrit en
    Février 2010
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 101
    Par défaut
    J'ai regardé la MVVM et sa à pas l'air si simple!! Et je ne peux pas déporter mon boolean puisque c'est un DependencyProperty. Celui ci me sert à rendre enabled ou non des onglets selon la personne connecté.

    il n'y aurait pas un autre moyen?

  4. #4
    Membre Expert
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Par défaut
    Je n'ai pas été assez clair je pense et sans doute pas assez précis.

    tu ne dois pas bouger ta DependencyProperty mais faire un binding sur la propriété de l'objet dont je te parlais. Normalement elle devrait hériter de INotifyPropertyChanged (renseigne toi la dessus, c'est une notion importante) mais comme c'est pour un changement de page ce n'est pas la peine (et cela va simplifier un peu les choses)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public class Toto
    {
        public bool Mapropriete
        {
             get;
             set;
        }
    }
    coté XAML sur MainPage.xaml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
         <my:MonUserControl MonBoolean={Binding Path=MaPropriete, Mode=TwoWay}"/>
    coté XAML sur HomePage.xaml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
         <my:MonAutreUserControl MonAutreBoolean={Binding Path=MaPropriete, Mode=TwoWay}"/>
    En oubliant pas de rerouter le DataContext du UserControl dans son constructeur sur lui même :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.LayoutRoot.DataContext = this;

  5. #5
    Membre confirmé
    Inscrit en
    Février 2010
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 101
    Par défaut
    Ok merci beaucoup (encore) je vais regarder pour les notions importantes. J'ai compris ce que tu m'a dis sauf le

    <my:MonUserControl MonBoolean={Binding Path=MaPropriete, Mode=TwoWay}"/>
    Je comprends pas ce que je dois mettre à la place.

  6. #6
    Membre Expert
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Par défaut
    C'est un userControl mais cela peut être ta page ou un control, comme tu veux.

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

Discussions similaires

  1. Communication entre UserControl et winform
    Par topolino dans le forum Windows Forms
    Réponses: 2
    Dernier message: 05/06/2009, 16h03
  2. Communication entre UserControl et MasterPage
    Par titan_33 dans le forum ASP.NET
    Réponses: 12
    Dernier message: 30/07/2008, 13h56
  3. Communication entre popup et page mere
    Par fepagaf dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 14/09/2007, 10h40
  4. [WebForms]Communication entre popup et page principale
    Par ben_popcorn dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 05/12/2006, 10h33
  5. Communication entre iframe et page
    Par goldorax113 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/05/2006, 17h07

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