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 :

[C#] comment faire pour afficher correctement juste les éléments sélectionnés d'une ListBox?


Sujet :

Silverlight

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    206
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 206
    Par défaut [C#] comment faire pour afficher correctement juste les éléments sélectionnés d'une ListBox?
    Bonjour,

    voilà le problème auquel je suis confronté ce matin sans trouver de solution. Ma première ListBox :

    Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <ListBox Height="151" Name="listeArretesListBoxMain" Width="1145" SelectedValuePath="libelleArrete" 
                                     SelectionMode="Multiple">
                                <ListBox.ItemTemplate>                                
                                    <DataTemplate>
                                        <TextBlock Text="{Binding libelleArrete}"/>
                                    </DataTemplate>
                                </ListBox.ItemTemplate>
                            </ListBox>

    Lors de l'affichage tout se passe bien et j'ai bien une liste issue d'une BDD PHP qui s'affiche. Le problème est le suivant : lorsque je clique sur un bouton qui a pour rôle de lancer private void button3_Click j'ai bien les message qui me signale exactement le nombre d'éléments que j'ai selectionnés mais lorsqu'il s'agit d'afficher tous les éléments avec MessageBox.Show("" + strItem + ""); le contenu strItem est vide même si foreach est parcouru le bon nombre de fois. Pouvez-vous me dire pourquoi strItem est vide à chaque affichage? Merci !!!


    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    private void button3_Click(object sender, RoutedEventArgs e)
            {
                MessageBox.Show("Il y a " + listeArretesListBoxMain.SelectedItems.Count + " éléments dans la liste." );
     
                String strItem;
                foreach (Object selecteditem in listeArretesListBoxMain.SelectedItems)
                {
                    strItem = selecteditem as String;
                    MessageBox.Show("" + strItem + "");    
     
                }
            }

  2. #2
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    206
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 206
    Par défaut
    Salut,
    en fait ma question pourrait être la suivante : comment faire pour afficher correctement juste les éléments sélectionnés d'une ListBox?
    Merci

  3. #3
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 056
    Par défaut
    Tes items ne sont pas des Strings puisque tu fais un Binding d'une propriété.
    Ton conde devrait donc plutot être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
               foreach (Object selecteditem in listeArretesListBoxMain.SelectedItems)
                {
                    var strItem = selecteditem as TonObjet;
                    MessageBox.Show("" + strItem.libelleArrete + "");    
     
                }

  4. #4
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    206
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 206
    Par défaut
    Merci pour ta réponse Micka mais si je fais ça j'ai string ne contient pas une définition pour libelleArrete

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

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 056
    Par défaut
    Euh c'est parceque tu as déclaré "strItem" comme string non?

  6. #6
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    206
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 206
    Par défaut
    Tu as tout à fait raison j'ai déclaré : Arretes strItem et ça marche

    Merci beaucoup Micka132 !!!

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/07/2010, 16h10
  2. Réponses: 1
    Dernier message: 04/11/2009, 00h39
  3. Comment faire pour afficher les informations d'une base de donnée
    Par bonnet85 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 28/03/2008, 09h24
  4. [CKEditor] FCKeditor 2.5 : comment faire pour afficher les images ?
    Par Buldozer Ben dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 20/12/2007, 10h00
  5. Comment faire pour afficher une image ds une dbgrid
    Par totomaze dans le forum Bases de données
    Réponses: 2
    Dernier message: 16/10/2004, 15h31

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