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

  1. #1
    Candidat au Club Avatar de ValhallaStud
    Homme Profil pro
    Lycéen
    Inscrit en
    mars 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : mars 2019
    Messages : 4
    Points : 3
    Points
    3

    Par défaut [VS Android C#] Problème ouverture fenêtre en .xaml

    Bonjour à tous,

    Je viens de créer le compte, j'ne suis pas encore familier des coutumes du site donc excusez moi d'avance si il y a certaines choses qui m'échappent.

    Mon problème :

    Je souhaite créer une application Android avec Visual Studio donc j'utilise Xamarin donc XAML avec une partie en C#. J'ai réussi à créer l'interface de l'écran sur lequel on arrive au lancement. J'ai ajouté un simple bouton pour pouvoir accéder au reste de l'application. J'ai voulu utiliser le code que j'utilise habituellement pour les Windows Form qui est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Form2 form2 = new Form2();
    form2.ShowDialog();
    Mais malheureusement ça ne fonctionne pas, l'erreur qui m'est indiqué est la suivante :
    Erreur CS1061 'Page1' ne contient pas de définition pour 'Show' et aucune méthode d'extension accessible 'Show' acceptant un premier argument de type 'Page1' n'a été localisée (une directive using ou une référence d'assembly est-elle manquante*?) App2 C:\Users\user\source\repos\App2\App2\App2\MainPage.xaml.cs 37 Actif

    Seriez-vous en mesure de m'aider s'il vous plait ?
    Merci d'avance pour toute aide qui peut m'être apportée!

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : avril 2007
    Messages : 13 510
    Points : 24 237
    Points
    24 237

    Par défaut

    les apps sont mono fenetre, aussi il faut utiliser un système de navigation
    google navigation xamarin (ou xamarin.forms selon ton cas) et tu devrais trouver des pistes
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Candidat au Club Avatar de ValhallaStud
    Homme Profil pro
    Lycéen
    Inscrit en
    mars 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : mars 2019
    Messages : 4
    Points : 3
    Points
    3

    Par défaut

    Citation Envoyé par Pol63 Voir le message
    les apps sont mono fenetre, aussi il faut utiliser un système de navigation
    google navigation xamarin (ou xamarin.forms selon ton cas) et tu devrais trouver des pistes
    Merci de m'avoir expliqué, je comprend mieux! Maintenant j'ai une erreur basique mais j'n'arrive pas à l'avoir!
    J'ai utilisé ce tutoriel : https://www.c-sharpcorner.com/articl...amarin-forms2/

    Mais il me donne une seule et unique erreur dans le code :
    Erreur CS0118 'MainPage' est un type mais est utilisé comme un variable App2 C:\Users\user\source\repos\App2\App2\App2\MainPage.xaml.cs 15 Actif

    Le code étant :
    Code : 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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using Xamarin.Forms;
     
    namespace App2
    {
        public partial class MainPage : ContentPage
        {
            public MainPage()
            {
                InitializeComponent();
                MainPage = new NavigationPage(new App2.MainPage());
            }
     
            private void Switch_OnToggled(object sender, ToggledEventArgs e)
            {
                bool isToggled = e.Value;
                if (isToggled == true)
                {
                    this.Title = "Title";
                    this.BackgroundColor = Color.FromRgb(38, 38, 38);
     
                }
                else
                {
                    this.Title = "Title";
                    this.BackgroundColor = Color.FromRgb(179, 45, 0);
                }
            }
                private async void Button_Clicked(object sender, EventArgs e)
                {
                    await Navigation.PushAsync(new Page1());
                }
        }
    }
    Merci d'avance pour l'aide apportée!

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : avril 2007
    Messages : 13 510
    Points : 24 237
    Points
    24 237

    Par défaut

    MainPage est une classe dans ton code (d'ailleurs c'est écrit public partial class Mainpage au dessus), pas une variable
    c'est comme si tu voulais écrire Button = new machin ; Button c'est une classe
    tuto mal fait je pense ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    novembre 2009
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : novembre 2009
    Messages : 1 606
    Points : 3 969
    Points
    3 969

    Par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     MainPage = new NavigationPage(new App2.MainPage());
    Ca doit se mettre dans le fichier app.xaml.cs et pas dans MainPage.cs

    App.xaml.cs est le point d'entrée de ton application (en gros le main), qui lui contient une propriété MainPage (https://docs.microsoft.com/fr-fr/dot...=xamarin-forms) et tu lui demande de créer une page de type "NavigationPage" qui est une espèce de collection de page. En paramètre du constructeur de NavigationPage tu lui dis d'afficher une App2.MainPage (que tu pourrais tout aussi bien appeler MaPremierePage).

  6. #6
    Candidat au Club Avatar de ValhallaStud
    Homme Profil pro
    Lycéen
    Inscrit en
    mars 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : mars 2019
    Messages : 4
    Points : 3
    Points
    3

    Par défaut

    Citation Envoyé par Pol63 Voir le message
    MainPage est une classe dans ton code (d'ailleurs c'est écrit public partial class Mainpage au dessus), pas une variable
    c'est comme si tu voulais écrire Button = new machin ; Button c'est une classe
    tuto mal fait je pense ...
    Citation Envoyé par micka132 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     MainPage = new NavigationPage(new App2.MainPage());
    Ca doit se mettre dans le fichier app.xaml.cs et pas dans MainPage.cs

    App.xaml.cs est le point d'entrée de ton application (en gros le main), qui lui contient une propriété MainPage (https://docs.microsoft.com/fr-fr/dot...=xamarin-forms) et tu lui demande de créer une page de type "NavigationPage" qui est une espèce de collection de page. En paramètre du constructeur de NavigationPage tu lui dis d'afficher une App2.MainPage (que tu pourrais tout aussi bien appeler MaPremierePage).
    Merci beaucoup, je comprend maintenant l'erreur!

    ça fonctionne désormais! Il ne reste plus qu'à réussir à retirer le bandeau bleu que ça créé car ce n'est pas très beau mdr. Merci beaucoup Micka et aussi à Pol63!

  7. #7
    Candidat au Club Avatar de ValhallaStud
    Homme Profil pro
    Lycéen
    Inscrit en
    mars 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : mars 2019
    Messages : 4
    Points : 3
    Points
    3

    Par défaut

    J'ai même trouvé comment cacher le bandeau avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NavigationPage.HasNavigationBar="False"
    Merci beaucoup pour votre aide, c'est un sujet résolu!

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

Discussions similaires

  1. [Débutant] Problème ouverture du fenêtre
    Par ralacorn dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 28/03/2013, 22h57
  2. Problème ouverture fenêtres
    Par hypnostick dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 07/11/2012, 13h39
  3. Problème ouverture fenêtre
    Par NameX dans le forum Qt
    Réponses: 3
    Dernier message: 12/02/2010, 09h06
  4. Problème ouverture de fenêtre
    Par shawn12 dans le forum MFC
    Réponses: 4
    Dernier message: 23/01/2008, 15h50
  5. [MFC] problème ouverture de fenêtre
    Par pytpyt dans le forum MFC
    Réponses: 1
    Dernier message: 19/04/2006, 14h05

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