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 :

Navigation entre "page" [Débutant(e)]


Sujet :

Silverlight

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 141
    Par défaut Navigation entre "page"
    Bonjour à tous,

    Outre le fait que je n'ai pas pu paramètrer ce post en "débutant", j'ai un autre problème.

    Pour un projet scolaire, je développe une petite application Silverlight. Je crée donc une "Silverlight Business Application" et j'ai donc une MainPage (UserControl) et 3 pages (navigation:page).

    Dans mon home.xaml, je crée un button qui devrait m'envoyer sur ma page d'encodage des visites. Et là est mon problème. J'ai bien essayé toutes les options possibles avec NavigationService.Navigate (méthode vue aux cours enfait), aucun problème de compilation, mais aucun changement de page lors du clic.

    Voila ce que je fais actuellement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    private void button1_Click(object sender, System.Windows.RoutedEventArgs e)
            {
                this.NavigationService.Navigate(new System.Uri("/Views/EncodageExamen.xaml"));
            }
    Y a-t-il une solution ?
    Merci :-)

  2. #2
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2011
    Messages : 82
    Par défaut
    Bonjour,

    deja a froid il manques un truc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new Uri("Adresse", UriKind.Relative);

  3. #3
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 141
    Par défaut
    Très juste, je l'ai oublié dans la quote du code. Même avec cela ça ne fonctionne pas...

    Une autre idée?

    Merci :-)

  4. #4
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2011
    Messages : 82
    Par défaut
    Si tu as un projet Business, alors tu utilises du mapping (y'a un autre post qui traites du meme probleme)

    Donc ta string sera a ce moment :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    private void button1_Click(object sender, System.Windows.RoutedEventArgs e)
            {
                this.NavigationService.Navigate(new System.Uri("/EncodageExamen", UriKind.Relative));
            }

    J'ai teste avec un slider pour etre sur, ca marche tres bien (le slider se situe dans une Navigation.Page, si tu veut Navigate depuis ta MainPage, c'est biensur ton ContentFrame.Navigate qu'il faut utiliser)

  5. #5
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 141
    Par défaut
    Yep, c'est ce que je fais. J'ai +- compris le fonctionnement de l'UriMapper, mais rien n'y fait.

    Et j'ai ce message d'erreur à l'exéctution :
    Content for the URI cannont be loaded. The URI may be invalid.
    Nom du paramètre : uri
    à System.Windows.Navigation.NavigationService.NavigateCore(Uri uri, NavigationMode mode, Boolean suppressJournalAdd, Boolean isRedirect)

  6. #6
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2011
    Messages : 82
    Par défaut
    Quelqu'un n'as pas ete attentif en cours ?

    Rapidement, ta MainPage contient ton controle de navigation (Frame).
    Cela te permet de creer un systeme de navigation (tu peux d'ailleurs utiliser les fleches de navigation de ton navigateur internet).

    Ta Frame affiche donc, rien. Pour mettre une page dedans tu ajoutes simplement des pages (dans le post d'a cote lutecefalco precise que ca marches sans forcement utiliser de page, perso jamais test avec autre chose).
    Donc tu ajoute des Page de navigation a ton projet (repertoire views).

    Par defaut tu as un mappage de fait (MappedUri="/Views/{pageName}.xaml"). Ce qui signifie que si tu tape "toto" il redirige vers /Views/toto.xaml.
    Tu peut toi meme creer des jeux de redirection plus complet pour le passage de parametre par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <uriMapper:UriMapping Uri="/{pageName}/{id}" MappedUri="/Views/{pageName}.xaml?id={id}"/>
    Attention cependant a l'ordre dans lequel tu definit tes mapping (faut mettre les plus complexe en premier, si tu ajoutes tes mapping a la suite des 2 d'orgine il ignorera les tiens, il faut les mettres avant)

    Pour afficher qqch par defaut tu ajoute un parametre a ta Frame, Source="/Toto" (ce qui entrainera du mapping !!) ou dans l'exemple par defaut "/Home".


    Ok pour la theorie, dans ton cas tu as une erreur qui precise que ton url est pas bonne (adresse inexistante ?)
    Attention a la navigation depuis une page, c'est different de la MainPage (page = NavigationService.Navigate, MainPage = ContentFrame.Navigate)

    Je viens d'ajouter un bouton depuis un projet vierge, dans le home.xaml.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NavigationService.Navigate(new System.Uri("/About", System.UriKind.Relative));
    Redirection sans pb.

    Commence par faire une redirection avec les pages d'origine pour controler que tout est ok. Ensuite redirige vers tes pages perso (/Views/EncodageExamen.xaml pour l'emplacement reel du fichier).

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

Discussions similaires

  1. navigation entre les pages(WinForm)
    Par nashouille dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 26/08/2008, 13h52
  2. identification utilisateur et la navigation entre les pages
    Par montassar.nizar dans le forum JDeveloper
    Réponses: 2
    Dernier message: 08/05/2008, 12h26
  3. [Ergonomie] Optimiser la navigation entre mes pages web
    Par DBardel dans le forum Webdesign & Ergonomie
    Réponses: 8
    Dernier message: 17/01/2007, 11h53

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