locked
Problème avec ma MasterPage! RRS feed

  • Question

  •  

    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... :cry:


    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! Wink

     

    Bonne journée!!

     

    sandy

    jeudi 10 juillet 2008 11:30

Réponses

  • 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
    dimanche 13 juillet 2008 09:23