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 Phone .NET Discussion :

Récupérer la valeur selection depuis une listbox


Sujet :

Windows Phone .NET

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2011
    Messages : 53
    Points : 39
    Points
    39
    Par défaut Récupérer la valeur selection depuis une listbox
    Bonjour a tous ,
    vraiment c'est bizarre d'habitude pour récupérer la valeur sélection d'un listbox on utilise ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int x = listBox1.SelectedIndex;
     string a = Convert.ToString(listBox1.Items[x]);
     MessageBox.Show(a);
    avec windows phone ca ne marche pas toujours je reçoit le message
    System.Windows.Controls.ListeBoxItem !!!

    Voila mon listbox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <ListBox name="listBox1" Height="119" HorizontalAlignment="Left" Margin="77,66,0,0" Name="listBox1" VerticalAlignment="Top" Width="69" SelectionChanged="listBox1_SelectionChanged">
                    <ListBoxItem Content="Tache" />
                    <ListBoxItem Content="Evenement" />
                    <ListBoxItem Content="Reunion" />
                </ListBox>

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Points : 407
    Points
    407
    Par défaut
    Salut,


    Citation Envoyé par moezBH Voir le message
    Bonjour a tous ,
    vraiment c'est bizarre d'habitude pour récupérer la valeur sélection d'un listbox on utilise ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int x = listBox1.SelectedIndex;
     string a = Convert.ToString(listBox1.Items[x]);
     MessageBox.Show(a);
    avec windows phone ca ne marche pas toujours je reçoit le message
    System.Windows.Controls.ListeBoxItem !!!
    Cela ne fonctionne pas non plus en WPF, plus simplement tu peux utiliser :
    Au lieu d'utiliser les index mais cela ne résoud pas ton problème.
    Citation Envoyé par moezBH Voir le message
    Voila mon listbox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <ListBox name="listBox1" Height="119" HorizontalAlignment="Left" Margin="77,66,0,0" Name="listBox1" VerticalAlignment="Top" Width="69" SelectionChanged="listBox1_SelectionChanged">
                    <ListBoxItem Content="Tache" />
                    <ListBoxItem Content="Evenement" />
                    <ListBoxItem Content="Reunion" />
                </ListBox>
    Pour ce qui est de ton problème, ce n'en est en fait pas un d'habitude je pense que tu dois binder ItemsSource sur une List<String> ou une ObservableCollection<String> et du coup le type retourné est bien un String, ici comme tu déclare des ListBoxItem en "Dur", Les objets contenus dans ta liste ne sont pas des String mais bien des ListBoxItem.

    Du coup pour récupérer le contenu, il suffit de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ListBoxItem Selected = listbox1.SelectedItem as ListboxItem;
    MessageBox.Show(Selected.Content);
    Si tu as d'autres questions, n'hésites pas.

    Cordialement,
    NeoKript

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2011
    Messages : 53
    Points : 39
    Points
    39
    Par défaut
    Merci Beaucoup pour votre explication
    j'ai bien compris votre solution mais lorsque j'essaye d'afficher selected.content je reçoit une erreur qui m'informe que impossible de afficher un type object .
    j'ai fait la conversion en type String dans l'affichage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Selected = listBox1.SelectedItem as ListBoxItem;
      MessageBox.Show(Convert.ToString(Selected.Content));
    l'exécution se fait mais au déclenchement de l'événement de mon bouton
    je reçoit un message d'erreur " NullReferenceException " indiqué sur Selected.Content
    Merci bien pour votre Compréhension .

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Points : 407
    Points
    407
    Par défaut
    Citation Envoyé par moezBH Voir le message
    Merci Beaucoup pour votre explication
    j'ai bien compris votre solution mais lorsque j'essaye d'afficher selected.content je reçoit une erreur qui m'informe que impossible de afficher un type object .
    j'ai fait la conversion en type String dans l'affichage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Selected = listBox1.SelectedItem as ListBoxItem;
      MessageBox.Show(Convert.ToString(Selected.Content));
    l'exécution se fait mais au déclenchement de l'événement de mon bouton
    je reçoit un message d'erreur " NullReferenceException " indiqué sur Selected.Content
    Merci bien pour votre Compréhension .
    Cela doit se produire lorsqu'il n'y a rien de sélectionné dans ta liste.
    Vu que rien n'est sélectionné, Selected = null et du coup quand tu essais d'accéder à Content sur une variable Null tu à l'exception que tu a cité.


    Il faut que tu fasse un test sur l'item sélectionné, ainsi si rien n'est sélectionné pas de problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Selected = listBox1.SelectedItem as ListBoxItem;
    if (Selected != null)
      MessageBox.Show(Convert.ToString(Selected.Content));

  5. #5
    Membre expérimenté Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    Août 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : Août 2003
    Messages : 1 986
    Points : 1 453
    Points
    1 453
    Par défaut
    Hello,

    je crois que ce n'est pas la bonne approche pour ce genre de chose !

    il faut utiliser le Binding.
    La Théorie c'est quand on comprends tout mais que rien ne fonctionne.
    La Pratique c'est quand tout fonctionne mais qu'on ne sait pas pourquoi !

    Si vous aimez ma réponse, cliquez sur la main verte Merci

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2011
    Messages : 53
    Points : 39
    Points
    39
    Par défaut
    ok merci ,je vais utilisé le Binding
    svp vous pouvez me donné un lien d'un tuto pour bien comprendre le binding car j'ai encore de difficulté avec la liaison des données sur wp7

  7. #7
    Membre expérimenté Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    Août 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : Août 2003
    Messages : 1 986
    Points : 1 453
    Points
    1 453
    Par défaut
    Salut,

    Au niveau du XAML tu as:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <ListBox ItemsSource="{Binding Path=MesDonnées}" SelectedItem="{Binding Path=MonSelectedItem}" SelectionChanged="ListBox_SelectionChanged">
     ...
     
    </ListBox>
    Après tu peux soit partir sur une pattern MVVM ou soit rester en standard.

    En standard tu auras dans ton MaPage.cs:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     ObservableCollection<MonObjet> MesDonnées;
     MonObjet MonSelectedItem;
    Après tu initialises le tout dans ton constructeur et normalement c'est bon.

    puis dans ton évènnement tu auras ton traitement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Public ListBox_SelectionChanged(...)
    {
      string NomDeLaSelection = MonSelectedItem.Name;
    }
    Le tout en partant du principe que tu as une classe MonObjet dans laquelle tu définit la structure de MonObjet (Ici une propriété string Name par exemple).

    J'espère que je ne me suis pas trompé car je fais sans éditeur

    mais tu corrigeras sans problème.
    La Théorie c'est quand on comprends tout mais que rien ne fonctionne.
    La Pratique c'est quand tout fonctionne mais qu'on ne sait pas pourquoi !

    Si vous aimez ma réponse, cliquez sur la main verte Merci

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2011
    Messages : 53
    Points : 39
    Points
    39
    Par défaut
    Merciii Bien pour votre explication

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

Discussions similaires

  1. Récupérer la valeur interne d'une option d'un select
    Par Emyleen dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/10/2011, 10h47
  2. [MySQL] récupérer la valeur résultant d'une requête SELECT MAX
    Par dabac dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 20/02/2010, 20h02
  3. Récupérer les valeurs clique dans une ListBox
    Par zooffy dans le forum ASP.NET
    Réponses: 10
    Dernier message: 22/05/2008, 12h01
  4. Réponses: 1
    Dernier message: 16/05/2007, 12h51

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