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 les différentes pages en silverlight


Sujet :

Silverlight

  1. #1
    Membre habitué Avatar de mikoukoumi
    Homme Profil pro
    Développeur .net
    Inscrit en
    Mai 2010
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur .net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 151
    Points : 169
    Points
    169
    Par défaut Navigation entre les différentes pages en silverlight
    Bonjour,
    je suis actuellement en stage en entreprise,donc débutant à la programmation en silverlight.( je travail sur visual studio 2008 et Microsoft expression blend 3 en parralèle)
    J'ai un problème pour me dirigé vers une autre pages xaml.
    J'ai une page xaml de connexion(connexion.xaml) et j'aimerais lors d'un évènement Button_Click me diriger avec une nouvelle page sommaire (sommaire.xaml) mais je ne trouve pas la fonction qu'il faut utiliser.

    merci d'avance de votre aide, j'en est besoin

    Est-ce bien cette fonction a utilisé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Windows.Browser.HtmlPage.Window.Navigate(new Uri("url", UriKind.Absolute));
    ?

    Est - ce possible de me dire comment l'utilisé dans mon cas avec sommaire.xaml svp ???



    pas: dites moi si vous n'avais pas compris mon problème

  2. #2
    Membre émérite
    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
    Points : 2 682
    Points
    2 682
    Par défaut
    Bonjour,

    Le plus simple est d'utiliser une Frame (le contrôle Silverlight pas le contrôle HTML). Celle-ci te permettra de naviguer entre des Pages facilement.

    http://msdn.microsoft.com/fr-fr/libr...me(VS.95).aspx

  3. #3
    Membre habitué Avatar de mikoukoumi
    Homme Profil pro
    Développeur .net
    Inscrit en
    Mai 2010
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur .net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 151
    Points : 169
    Points
    169
    Par défaut
    merci je vais look ça

    si j'ai bien compris je met ce code ma homgepage(pour moi connexion.xaml)

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <navigation:Frame 
           x:Name="ContentFrame" 
           Style="{StaticResource ContentFrameStyle}" 
           Source="/Home" 
           Navigated="ContentFrame_Navigated" 
           NavigationFailed="ContentFrame_NavigationFailed">
        <navigation:Frame.UriMapper>
            <uriMapper:UriMapper>
                <uriMapper:UriMapping 
                    Uri="/ProductDetail/{productid}" 
                    MappedUri="/Views/ProductDetail.xaml?ProductId={productid}"/>
                <uriMapper:UriMapping 
                    Uri="/Reports/{type}/{selection}" 
                    MappedUri="/Views/ReportsPage.xaml?type={type}&amp;selection={selection}"/>
                <uriMapper:UriMapping 
                    Uri="/{pageName}" 
                    MappedUri="/Views/{pageName}.xaml"/>
            </uriMapper:UriMapper>
        </navigation:Frame.UriMapper>
    </navigation:Frame>

    je ne voit pas trop comment sa marche??? une petite explication ne serais pas de refus...

    site pas mal expliquer
    http://www.odewit.net/ArticleContent...fr&format=html

    mais je souhaiterais tout de même avoir une petite explication si c'est possible

    J'aime pas ne pas comprendre surtout quand sa m'intéresse

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    L'UriMapper est en charge d'intercepter l'adresse que tu saisis pour accéder à ton application Silverlight et de te renvoyer sur la bonne page, ce qui te permet d'avoir des applications qui sont SEO friendly.

    Un peu comme les routes en ASP.NET MVC

  5. #5
    Membre émérite
    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
    Points : 2 682
    Points
    2 682
    Par défaut
    Pour faire simple :

    Tu dois utiliser le membre Navigate du controle Frame pour aller d'une page à l'autre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    this.ContentFrame.Navigate( new Uri("Sommaire.xam", UriKind.Relative ));
    Tu peux aussi passer ton URL via la propriété Source de Frame (pratique pour le Binding dans XAML)

    L'UriMapper comme l'a expliqué Thomas permet de simplifier les urls de ton applications et facilite le travail des moteurs de recherches.

    Mon conseil : L'UriMapper est optionnel. Si tu es débutant, concentres-toi dans un premier temps sur la naviguation elle-même.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 121
    Points : 135
    Points
    135
    Par défaut
    Je rajouterais juste que a l'intérieur d'une page tu peux aussi naviguer vers une autre page sans passer par le ContentFrame en utilisant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.NavigationService.Navigate(new Uri("/MapaGe?id=" + comp.id, UriKind.Relative));
    NavigationService est une propriété de l'objet Page

  7. #7
    Membre habitué Avatar de mikoukoumi
    Homme Profil pro
    Développeur .net
    Inscrit en
    Mai 2010
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur .net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 151
    Points : 169
    Points
    169
    Par défaut
    trop d'informations tue l'information!!!!
    oui je débute en silverlight ,cela fais seulement 2 jours que je programme seulement...


    merci Thomas Lebrun pour ces tes précisions.
    je pense que la ligne de code de Samoteph correspond plus à mes attentes

    Citation Envoyé par Samoteph Voir le message

    this.ContentFrame.Navigate( new Uri("Sommaire.xam", UriKind.Relative ));
    j'aimerais savoir si c'est possible de faire un exemple avec mon cas car je ne vois pas par quoi je doit remplacer ContentFrame


    d'après http://msdn.microsoft.com/fr-fr/library/ms591053.aspx j'ai ajouté using System.Windows.Navigation amis il ne reconnais toujours pas le NavigationService.
    quand je laisse ma souris dessus il met que 'SilverlightApplication1.MainPage' ne contient pas une définition pour NavigationService.

    ps: désolé avec mes question mais j'aimerais plus de clarté sur ce sujet veuillez m'en excuser d'avance

  8. #8
    Membre habitué Avatar de mikoukoumi
    Homme Profil pro
    Développeur .net
    Inscrit en
    Mai 2010
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur .net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 151
    Points : 169
    Points
    169
    Par défaut
    je pense qu'il faut que j'instancie NavigationService
    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    NavigationService t = new NavigationService;
    t.Navigate( new Uri("Sommaire.xaml", UriKind.Relative ));
    mais c'est faux je ne vois pas comment faire???
    j'ai besoin d'aide s'il vous plait

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Le service de navigation (NavigationService) est instancié automatiquement lorsque tu es dans un objet de type Page ou Frame...

  10. #10
    Membre émérite
    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
    Points : 2 682
    Points
    2 682
    Par défaut
    mikoukoumi,

    Il faut que tu sois plus précis dans tes réponses.

    mais c'est faux
    ça ne veut pas dire grand chose que c'est faux.
    Renvoie nous plutôt l'erreur qui est indiquée, cela nous aidera à t'expliquer ce qui se passe.

  11. #11
    Membre habitué Avatar de mikoukoumi
    Homme Profil pro
    Développeur .net
    Inscrit en
    Mai 2010
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur .net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 151
    Points : 169
    Points
    169
    Par défaut
    je suis dans un objet type Page

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.NavigationService.Navigate(new Uri("Sommaire.xaml", UriKind.Relative));
    et mon erreur est

    Erreur 1 'SilverlightApplication1.MainPage' ne contient pas une définition pour 'NavigationService' et aucune méthode d'extension 'NavigationService' acceptant un premier argument de type 'SilverlightApplication1.MainPage' n'a été trouvée (une directive using ou une référence d'assembly est-elle manquante*?) C:\Users\FORMATION\Documents\Expression\Blend 3\Projects\SilverlightApplication1\SilverlightApplication1\Connexion.xaml.cs 26 18 SilverlightApplication1

  12. #12
    Membre émérite
    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
    Points : 2 682
    Points
    2 682
    Par défaut
    mikoukoumi,

    Erreur 1 'SilverlightApplication1.MainPage' ne contient pas une définition pour 'NavigationService'
    Tu tentes d'appeler NavigationService à partir de MainPage qui est un UserControl et pas une Page. C'est vrai que le nom peut prêter à confusion

    Si tu veux appeler la naviguation à partir de MainPage utilise la référence à ta Frame :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.ContentFrame.Navigate( new Uri("Sommaire.xaml", UriKind.Relative ));
    En revanche, quand tu es dans une page autre que MainPage (c'est à dire un page de ta Frame) utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.NavigationService.Navigate(new Uri("Sommaire.xaml", UriKind.Relative));
    J'espère que c'est plus clair ainsi.

  13. #13
    Membre habitué Avatar de mikoukoumi
    Homme Profil pro
    Développeur .net
    Inscrit en
    Mai 2010
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur .net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 151
    Points : 169
    Points
    169
    Par défaut
    merci pour ces précisions

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Si tu veux appeler la naviguation à partir de MainPage utilise la référence à ta Frame :
     
    Code :
    this.ContentFrame.Navigate( new Uri("Sommaire.xaml", UriKind.Relative ));
    je vois tout à fait pour le contentframe mais je ne vois pas quelle modèle d'élément que je doit ajouté à mon projet pour que celui soit une frame.


    moi j'ai ajouté un élément pages silverlight.

  14. #14
    Membre habitué Avatar de mikoukoumi
    Homme Profil pro
    Développeur .net
    Inscrit en
    Mai 2010
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur .net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 151
    Points : 169
    Points
    169
    Par défaut
    s'il vous plait j'ai besoin de renseignement complémentaire :



    j'aimerais passer de la page Connexion.xaml à la page Sommaire.xaml

    moi j'ai ajouté un élément page silverlight pour le sommaire.xaml

  15. #15
    Membre émérite
    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
    Points : 2 682
    Points
    2 682
    Par défaut
    Bonjour,

    Ou se trouve ta MainPage ?
    Est-ce Connexion.xaml ?

    Beaucoup d'explications t'ont été données dans ce thread, et je ne vois pas trop ce que tu ne comprends pas.

    Tu mets une frame dans ta MainPage.xaml (ou equivalent) et tu navigues dans la frame sur les pages que tu auras crée via la méthode Navigate.

    Indique nous ou ça bloque pour toi dans cette phrase, ainsi on pourra t'aider plus efficacement.

  16. #16
    Membre habitué Avatar de mikoukoumi
    Homme Profil pro
    Développeur .net
    Inscrit en
    Mai 2010
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur .net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 151
    Points : 169
    Points
    169
    Par défaut
    Tu mets une frame dans ta MainPage.xaml
    c'est ici que je bloque

    ma Mainpage.xaml = Connexion.xaml

    mon problème c'est que je ne vois pas comment mettre une frame dans une page .xaml

  17. #17
    Membre émérite
    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
    Points : 2 682
    Points
    2 682
    Par défaut
    Ok c'est plus clair

    Ouvre ta page Connexion.xaml, puis tu vas dans la boite à outils (sur ta gauche normalement) et tu prends le control Frame que tu déposes dessus.

  18. #18
    Membre habitué Avatar de mikoukoumi
    Homme Profil pro
    Développeur .net
    Inscrit en
    Mai 2010
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur .net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 151
    Points : 169
    Points
    169
    Par défaut
    merci beaucoup

    dernière question je sais pas comment j'ai fais mais je ne vois plus la visualisation graphique de se que je fais??? je suis obligé de généré solution pour voir le rendu graphique...

    il faut que je rajouter une fenêtre mais je ne sais plus comment elle s'appelle ???

    ps : désolé je ne suis pas claire là

  19. #19
    Membre émérite
    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
    Points : 2 682
    Points
    2 682
    Par défaut
    il faut que je rajouter une fenêtre mais je ne sais plus comment elle s'appelle ???
    Moi non plus désolé.

  20. #20
    Membre habitué Avatar de mikoukoumi
    Homme Profil pro
    Développeur .net
    Inscrit en
    Mai 2010
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur .net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 151
    Points : 169
    Points
    169
    Par défaut
    oki pas grave je vais faire sans

    en tout cas merci pour ta patience et ton aide précieuse

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/03/2012, 23h07
  2. pb de navigation entre les pages jsf !
    Par mido_bc dans le forum JSF
    Réponses: 4
    Dernier message: 05/02/2009, 16h49
  3. navigation entre les pages(WinForm)
    Par nashouille dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 26/08/2008, 13h52
  4. identification utilisateur et la navigation entre les pages
    Par montassar.nizar dans le forum JDeveloper
    Réponses: 2
    Dernier message: 08/05/2008, 12h26
  5. liaison de données entre les différentes pages
    Par tetedeturcq dans le forum ASP.NET
    Réponses: 2
    Dernier message: 29/03/2007, 09h25

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