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 :

listbox et controls utilisateur


Sujet :

Silverlight

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 23
    Par défaut listbox et controls utilisateur
    Bonjour,
    J'ai créé une listbox qui a pour éléments des objets d'un controle "Rubrique" que j'ai défini dans Rubrique.xaml et Rubrique.xaml.cs
    J'arrive très bien à rajouter des objets de type rubrique à ma listbox en faisant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    string nom ="...";
    string lien="...";
     Rubrique = new Rubrique(nom,lien);
     
                    ListBoxItem lbi = new ListBoxItem();
                    lbi.Content = sr;               
                    maListBox.Items.Add(lbi);
    ou bien avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    string nom ="...";
    string lien="...";               
                    maListBox.Items.Add(new Rubrique(nom,lien));

    j'aimerais pouvoir acceder à la proporiété "nom" de l'item selectionné, j'ai essayé de faire un cast
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Rubrique r = (Rubrique)maListBox.SelectedItem;
    mais j'obtiens l'exception

    Impossible d'effectuer un cast de l'objet de type 'System.Windows.Controls.ListBoxItem' en type 'Rubrique'
    est-ce que quelqu'un a une idée comment il faut faire?
    Merci d'avance

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 98
    Par défaut
    je vien de faire le test et chez moi ça fonctionne:

    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
     
     
            private void UserControl_Loaded(object sender, RoutedEventArgs e)
            {
                ListBox1.Items.Add(new Rubrique("lenom","lelien"));
            }
     
            private void ButonTest_Click(object sender, RoutedEventArgs e)
            {
                Rubrique r = (Rubrique) ListBox1.SelectedItem;
                System.Windows.Browser.HtmlPage.Window.Alert(r.Nom);
            }
        }
     
        public class Rubrique
        {
            public Rubrique(string nom, string lien)
            {
                this.nom = nom;
                this.lien = lien;
            }
            private string nom;
     
            public string Nom
            {
                get { return nom; }
                set { nom = value; }
            }
     
            private string lien;
     
            public string Lien
            {
                get { return lien; }
                set { lien = value; }
            }
        }
    Lorsque je click sur le ButonTest, je récupère bien la bonne valeur ...

    Si tu remplies ta listbox d'objet de type ListBoxItem, maListBox.SelectedItem sera biensur de type ListBoxItem...

  3. #3
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    En effet, ton code devrait fonctionner et ne pas de remonter d'erreurs

    Peut-être ne nous as-tu pas tout montrer ?

  4. #4
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par Thomas Lebrun Voir le message
    En effet, ton code devrait fonctionner et ne pas de remonter d'erreurs

    Peut-être ne nous as-tu pas tout montrer ?
    Si si c'est normal, il insère dans sa ListBox un ListBoxItem auquel il a associé sa Rubrique à la propriété Content. Ensuite il insère dans sa ListBox son ListBoxItem donc au final c'est normal qu'il puisse pas le caster en Rubrique.

    Donc au choix, soit il rajoute directement une Rubrique dans sa ListBox soit il récupère le Content (en le castant en Rubrique) de sa ListBoxItem.

  5. #5
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Citation Envoyé par Skyounet Voir le message
    Donc au choix, soit il rajoute directement une Rubrique dans sa ListBox s
    Oui, mais c'est bien ce qu'il a déjà essayé il me semble (d'où ma remarque )


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    string nom ="...";
    string lien="...";               
                    maListBox.Items.Add(new Rubrique(nom,lien));

  6. #6
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par Thomas Lebrun Voir le message
    Oui, mais c'est bien ce qu'il a déjà essayé il me semble (d'où ma remarque )


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    string nom ="...";
    string lien="...";               
                    maListBox.Items.Add(new Rubrique(nom,lien));
    Ah oui j'avais zapé ce passage.

    Là c'est clair que ça devrait marcher surtout que l'exception dit bien qu'il essaye de caster un ListBoxItem en Rubrique.

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

Discussions similaires

  1. [C#] Controles utilisateurs
    Par iamspacy dans le forum Windows Forms
    Réponses: 3
    Dernier message: 03/05/2006, 20h42
  2. [VB.Net] Regrouper des controles utilisateurs
    Par Jsh dans le forum Windows Forms
    Réponses: 4
    Dernier message: 07/04/2006, 13h39
  3. [VB]Gérer la liaison entre controle utilisateur et form
    Par Ooly2001 dans le forum VB 6 et antérieur
    Réponses: 19
    Dernier message: 23/01/2006, 09h50
  4. Réponses: 4
    Dernier message: 17/01/2006, 09h49
  5. Réponses: 68
    Dernier message: 30/11/2005, 17h29

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