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

Windows Presentation Foundation Discussion :

Problème changement de page wpf


Sujet :

Windows Presentation Foundation

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2017
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Problème changement de page wpf
    Bonjour,

    Je suis débutant et je souhaite créer une application avec WPF (xaml et c#), alors mon problème est le changement de page. Je passe par un "ContentControl" qui est sur mon mainwindows en changeant le "Content" par une fenêtre usercontrol. Lorsque j’appelle une méthode a partir d'un bouton qui est sur le mainwindows le changement de page s’effectue mais lorsque je demande depuis un fichier usercontrol ça fonctionne pas alors que j'appelle la même méthode ou est le problème ? j'ai déjà même essayé avec une frame et même problème.

    mainwindows.xaml

    <Grid>
    <DockPanel>
    <ContentControl x:Name="Content" />
    </DockPanel>
    <Button Content="Button" HorizontalAlignment="Left" Margin="73,43,0,0" VerticalAlignment="Top" Width="75" Click="Logon_Click"/>
    </Grid>

    mainwindows.xaml.cs

    private void Logon_Click(object sender, RoutedEventArgs e)
    {
    this.Changement<index>();
    }

    public void Changement<T>() where T : new()
    {
    Content.Content = new T();
    }

    Au lancement de mon application je click sur le bouton pour m'afficher le fichier index.xaml sur ma page et lorsque je click sur un bouton de la page index pour appeler la methode Changement() et changer le Content par usercontrol et cela ne modifie pas la page. Mais si je change le paramètre index dès l'ouverture de l'application par n'importe quel autre fichier cela fonctionne mais depuis mon usercontrol impossible. pourtant tout les méthodes fonctionnent bien juste la page qui ne se change pas.

    Index.xaml.cs

    public partial class index : UserControl
    {
    Mainwindows Main = new Mainwindows();
    main.Changement<creation>();
    }

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Points : 1 313
    Points
    1 313
    Par défaut
    philosophiquement en wpf tu devrais plutôt
    - mettre un content control
    - creer deux mvvm pour chacun des objects que tu veux afficher
    - faire un datatemplate pour chaque objet (style de ton mvvm object)
    - laisser tomber les usercontrol

    fait un projet exemple complet pour voir ton prob ca sera plus simple
    IKEAS : Finalement je crois que c'est dans ses faiblesses que l'on y trouve a la fois de la force et a la fois de la richesse...
    ----------------------------------------------------
    Si vous avez du taf en wpf & design d'application sympa, contactez moi !!!!
    http://ultimatecorp.eu/wpf/

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2017
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Voila comment se présente mon projet en utilisant la technique MVC (model view contrôleur ), je possède 2 vues, une vue index qui s'affiche normalement dans le mainwindow au démarrage de l'application et une vue création qui s'affiche si les identifiants et mdp rentrés dans la vue index est bonne.
    Pour vérifier si l'identifiant et le mdp est correct la classe index va instancié un objet contrôleur et appeler une méthode qui fera la vérification depuis une base de donnée.

    Nom : Captue.PNG
Affichages : 472
Taille : 33,3 Ko

    Le fichier mainwindows.xaml
    Nom : Captue.PNG
Affichages : 487
Taille : 131,6 Ko

    La classe Mainwindow.xaml.cs
    Nom : Captue.PNG
Affichages : 498
Taille : 70,6 Ko

    la classe index.xaml.cs
    Nom : Captue.PNG
Affichages : 475
Taille : 133,6 Ko

    sur le fichier index.xaml je possède 2 champs de textes et un bouton.

    la classe controleur.cs
    Nom : Captue.PNG
Affichages : 481
Taille : 117,4 Ko

    Pour le moment pour afficher la vue index je passe par un bouton au démarrage de l'application, je ne sais ni changé de vue ni mettre une vue par défaut. j'apprend a codé. Merci d'avance

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Points : 1 313
    Points
    1 313
    Par défaut
    file un projet complet ca sera plus simple
    en wpf on utilise un truc qui s'appel un mvvm (c'est du mvc en mode wpf)
    on met carment l'objet contrôleur dans le content control
    et c'est le datatemplate qui fait le boulot de représentation ce qui est plus cool car tu peux changer la représentation quand tu veux

    ce que tu as mis n'est pas au standard

    ou tu me fais une maquette simplifié
    IKEAS : Finalement je crois que c'est dans ses faiblesses que l'on y trouve a la fois de la force et a la fois de la richesse...
    ----------------------------------------------------
    Si vous avez du taf en wpf & design d'application sympa, contactez moi !!!!
    http://ultimatecorp.eu/wpf/

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2017
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    j'ai tenter de suivre le modèle MVC comme vu sur internet. et mes images n'apparaissent pas dans mon mainwindow je ne sais pas pourquoi :
    Mon projet : https://1drv.ms/u/s!Au8yhCvwdEkYgohgp9ddCxOkLjPNsQ

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Points : 1 313
    Points
    1 313
    Par défaut
    je t'ai corrigé le projet
    on doit tout faire dans le global MVVM
    et rien ailleurs tout le code de la fenetre doit etre mis dedans sauf this.DataContext = new GlobalMVVM();
    clique sur les bouton pour voir le resultat

    ConsoleRH.zip
    IKEAS : Finalement je crois que c'est dans ses faiblesses que l'on y trouve a la fois de la force et a la fois de la richesse...
    ----------------------------------------------------
    Si vous avez du taf en wpf & design d'application sympa, contactez moi !!!!
    http://ultimatecorp.eu/wpf/

  7. #7
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    C'est même mieux de mettre le data context dans le xaml, ça fait de l'intellidense pour les bindings. (et on peut le récupérer dans le code behind).
    Mvc ça va bien en asp.net. La plupart des tutos wpf conseillent le mvvm même si le Mvc pourrait s'utiliser selon certains...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  8. #8
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2017
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci pour vos réponses, comme je vous les dit c'est la 1er fois je code. J'ai regardé la correction que vous m'avez envoyé, les boutons qui sont sur ma mainwindow c’était juste pour changé de page, mais de base je veux pouvoir lancer mon programme et avoir la vue "index" lancer par défaut et lorsque j'appuie sur valider de la vue "index" selon certaine condition j'aille sur d'autre page.

  9. #9
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Points : 1 313
    Points
    1 313
    Par défaut
    dans ce cas la tu bind le bouton
    sur une commande personnalisée de ton MVVM
    avec un binding relative source find ancestor pour recuperer le datacontext au dessus de ton objet
    puis dans cette commande tu change le selected pour passer a l'objet suivant ....
    en general le MVVM c'est lui qui s'occupe de tout (c'est le controleur du MVC)
    IKEAS : Finalement je crois que c'est dans ses faiblesses que l'on y trouve a la fois de la force et a la fois de la richesse...
    ----------------------------------------------------
    Si vous avez du taf en wpf & design d'application sympa, contactez moi !!!!
    http://ultimatecorp.eu/wpf/

Discussions similaires

  1. [PhoneGap Build] Problème changement de page
    Par kalagan34 dans le forum Android
    Réponses: 5
    Dernier message: 21/05/2013, 11h37
  2. Réponses: 5
    Dernier message: 18/05/2011, 17h11
  3. Datapager et ListView: Problème changement de page
    Par thebop dans le forum ASP.NET
    Réponses: 4
    Dernier message: 09/12/2010, 17h37
  4. Réponses: 6
    Dernier message: 22/06/2007, 15h51
  5. problème changement session entre 2 pages
    Par taka10 dans le forum Langage
    Réponses: 1
    Dernier message: 10/02/2007, 13h41

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