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

C# Discussion :

Passage de variable entre 2 fichiers .xaml dans application WPF


Sujet :

C#

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Passage de variable entre 2 fichiers .xaml dans application WPF
    Bonjour tout le monde ,

    J'ai un petit soucis au niveau de mon application WPF

    En fait elle est composée de 2 fichiers : MainWindow.xaml et Form2.xaml (qui eux même contiennent MainWindow.xaml.cs et Form2.xaml.cs)


    Le principe est simple l'utilisateur entre dans MainWindow et choisi un élément de la combobox ( mode connecté ou déconnecté) ,
    Si c'est le premier élément la variable booléenne flag = true sinon flag=false.
    Puis l'utilisateur clique sur le bouton Envoyer qui ferme MainWindow et ouvre Form2.
    Je veux récupérer la valeur de flag au niveau de Form2.

    Pour celà J'ai surchargé le constructeur de Form2 avec un paramètre de type bool , regardez un peu mon code :
    MainWindow.xaml.cs
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
     
    namespace WpfApplication3
    {
        /// <summary>
        /// Interaction logic for MainWindow.xaml
        /// </summary>
        public partial class MainWindow : Window
        {
             public static bool flag = true; 
     
     
            public MainWindow()
            {
                InitializeComponent();
            }
     
            private void button1_Click(object sender, RoutedEventArgs e)
            {
                //Bouton Fermer
                this.Close();
     
            }
     
            private void button2_Click(object sender, RoutedEventArgs e)
            {
                //bouton Envoyer
     
            }
     
            private void comboBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
            {
                Object selectedItem = comboBox1.SelectedItem;
                int selectedIndex = comboBox1.SelectedIndex;
                if (comboBox1.SelectedIndex.Equals(0))
                {
                    flag = true;
                    MessageBox.Show(""+flag);
     
     
                }
                if (comboBox1.SelectedIndex.Equals(1))
                {
     
                    flag = false;
                    MessageBox.Show("" + flag);
                }
     
     
            }
     
            private void button2_Click_1(object sender, RoutedEventArgs e)
            {
     
                Form2 form2 = new Form2();
                form2.Show();
                this.Close();
             }
            public Form2 window2 = new Form2(flag);// Je ne sais pas si c'est comme ça que je dois m'y prendre
     
     
     
     
     
     
        }
    }
    Au niveau de la ligne 72 je surchage Form2(flag) avec un paramètre mais je ne sais pas si c'est comme ça que ça va marcher !

    Form2.xaml.cs

    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
    39
    40
    41
    42
    43
    44
    45
    46
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Shapes;
     
    namespace WpfApplication3
    {
        /// <summary>
        /// Interaction logic for Form2.xaml
        /// </summary>
        public partial class Form2: Window
        {
     
             bool cool; // cool est la nouvelle variable qui prend la valeur de flag
            public Form2()
            {
                InitializeComponent();
     
                MessageBox.Show("" + cool); //j'affiche la valeur de cool
     
            }
     
            private void button1_Click(object sender, RoutedEventArgs e)
            {
                this.Close();
     
            }
            public  Form2(bool cool)
            {
                this.cool = cool;
     
     
            }
     
     
     
        }
    }
    Merci de bien vouloir m'aider car je bloque complètement et l'avancement de l'application s'est arrêté complètement .
    Merci pour votre aide

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Je me réexplique , le but c'est de faire passer une variable booléenne (flag) d'un form ( MainWindow) vers ( Form2 ) pour pouvoir avoir une trace des utilisateurs qui ont choisi le mode connecté et ceux qui ont choisis le mode déconnecté!

    Merci pour votre aide !

  3. #3
    Membre émérite Avatar de meziantou
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Points : 2 439
    Points
    2 439
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
            private void button2_Click_1(object sender, RoutedEventArgs e)
            {
     
                Form2 form2 = new Form2(flag);
                form2.Show();
                this.Close();
             }

Discussions similaires

  1. [XSLT] Passage de variable entre deux fichiers xsl
    Par kimar dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 18/06/2007, 10h59
  2. Réponses: 2
    Dernier message: 15/12/2005, 08h43
  3. [C#] Passage de variables entre 2 forms
    Par Tips dans le forum C#
    Réponses: 6
    Dernier message: 06/12/2005, 16h48
  4. [langage] Passage d objet entre deux fichiers
    Par Slippers dans le forum Langage
    Réponses: 2
    Dernier message: 28/04/2005, 14h45
  5. [langage] Probleme passage de variables entre modules
    Par Ludo167 dans le forum Langage
    Réponses: 4
    Dernier message: 13/08/2004, 12h25

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