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 :

Problème avec ma MasterPage.


Sujet :

Silverlight

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 3
    Par défaut Problème avec ma MasterPage.
    Bonjour à tous,

    Je suis débutante en développement et surtout en Silverlight... ;-)

    Sur mon site j'ai créé une MasterPage( dans un UserControl que j'ai nommé MasterPage,j'ai mis les menus de mon site ainsi qu'un canvas qui permet le switch entre les différentes pages) elle fonctionne bien mais je rencontre des problème avec ma page d'accueil(Page.xaml)...

    Je vous explique comment fonctionne le site:

    A gauche j'ai un mis un menu qui affiche dynamiquement les dossiers du user une fois que celui-ci s'est loggué,et lorsque ce dernier clique sur un de ses dossiers,dans la Page.xaml s'affiche le contenu de ce dossier...Et c'est là que le bât blesse:tant qu'on reste dans la MasterPage tout va bien mais lorsqu'on se trouve entre 2 pages il y a problème...Le code behind se trouve divisé entre la MasterPage.xaml.cs et la Page.xaml.cs...
    J'ai essayé de référencer des éléments de la Page.xaml dans le code behind de la masterPage mais cela ne fonctionne pas.

    public Page My = new Page();
    Puis:
    My.Txt.Text = e.Result.Count.ToString();

    Je créé un nouvel objet alors que je voudrais faire référence à ma page Page.xaml!!!

    J'espère que vous comprendrez ce que j'ai essayé d'expliquer et que vous pourrez m'aider!

    Bonne journée!!

    sandy

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    J'ai rien compris: c'est quoi cette histoire de MasterPage ? De l'ASP.NET ?

  3. #3
    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
    En gros tu essaies de refaire le système des MasterPage de l'ASP.NET en Silverlight, c'est ça ?

    Le seul soucis c'est qu'en Silverlight, ben y'a pas de concept de page, tout est dans la même appli à laquelle tu rajoutes/enleves du visuel pour faire ce que tu veux, c'est un peu comme une winforms.

    Donc faudrait que tu exposes ce que tu veux faire un tit peu plus clairement.

    Si tu veux faire un Control qui reference ta "MasterPage", ben tu rajoutes un constructeur avec un paramètre et tu construits ton UC dans ton code-behind en lui passant le bon argument.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 3
    Par défaut
    Rebonjour,


    Expliqué autrement: j'ai une MasterPage (qui est la page par Default) dans laquelle se trouve un canvas que je remplis via "canvas.childeren.Add(new page1of4()) "par le UserControl d'une page fille (ici Page1Of4)
    Un peu comme une Frame en HTML !!

    Tous se passe parfaitement bien, sauf que je ne parviens pas à accéder aux contrôles de la Page1of4 à partir du code Behind de la MasterPage.
    La difficulté vient du fait qu'au moment de la compilation le contenu de Canvas n'est pas encore connu, puisque dynamique ...
    Je dois certainement utiliser un 'cast' mais comment ?

    Je vous remercie d'essayer de m'aider!
    Merci beaucoup!

    sandy

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 3
    Par défaut
    Bonjour à tous,

    Je donne la solution que j'ai trouvée:cela peut toujours aider!

    Dans l'App.xaml.cs:



    private void Application_Startup(object sender, StartupEventArgs e)
    {

    MasterPage root = new MasterPage();
    this.RootVisual = root;
    root.MainFrame.Children.Add(new Page());
    }

    public int NDOS { get; set; }//pour passer les valeurs d'une page à l'autre

    public static void Navigate(UserControl newPage)
    {

    MasterPage root = Application.Current.RootVisual as MasterPage;

    if (root != null)
    {
    root.MainFrame.Children.RemoveAt(0);
    root.MainFrame.Children.Add(newPage);
    }
    }

    Au niveau de la MasterPage(MasterPage.xaml) créer l'espace "MainFrame" qui accueillera les divers User Controls

    Et le tour est joué!!

    Bon week end and HAPPY CODING!!!

    sandy

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

Discussions similaires

  1. Problème avec ma masterpage
    Par Kris0311 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 23/08/2010, 14h18
  2. Problème avec globalization, UrlRewriting et MasterPage
    Par nasimpat7 dans le forum Débuter
    Réponses: 1
    Dernier message: 29/06/2009, 10h25
  3. Problème avec masterpage form
    Par M.Mounir dans le forum ASP.NET
    Réponses: 9
    Dernier message: 03/04/2009, 12h57
  4. problème avec le masterPage
    Par giannichedda dans le forum ASP.NET
    Réponses: 4
    Dernier message: 06/08/2007, 13h17
  5. Réponses: 1
    Dernier message: 31/08/2006, 11h48

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