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 :

Remplire dynamiquement une listbox


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Remplire dynamiquement une listbox
    Bonjour tout le monde,

    Je debute en XAML et je voudrais remplire dynamiquement une lisbox. Le contenu de ma liste est augmente toutes des X secondes via un timer dans ma classe Factory.

    Je sais qu'il faut utiliser une ObservableCollection<T> mais je ne sais pas exactement comment faire. J'ai teste differentes methodes sans succes. J'ai tout epure et voila ce que j'ai pour le moment

    XAML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <Button Content="Start" x:Name="StartBtn" Click="StartBtn_Click"/>
    <ListBox x:Name="myList" />
    .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
      public partial class MainWindow : Window
        {
            public ObservableCollection<content>  displayList;
            private Factory factory;
     
            public MainWindow()
            {
                InitializeComponent();
                this.Loaded +=new RoutedEventHandler(MainWindow_Loaded);
            }
     
            void MainWindow_Loaded(object sender, RoutedEventArgs e)
            {
                factory = new Factory();
     
                displayList= new ObservableCollection<content>(factory.ElemList); //ElemList est une List<string>
                this.myList.ItemsSource = this.displayList;
             }
     
            private void StartBtn_Click(object sender, RoutedEventArgs e)
            {
                factory.Start();
            }
        }
    Je penses qu'il me reste pas mal de chemin donc si vous pouviez me donner des pistes de reflection ca serait sympa.
    Merci pour toute aide.

  2. #2
    Membre Expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Par défaut
    En fait, une ObservableCollection est une collection qui va lever des événements quand elle est modifiée, pas une collection qui observe le contenu d'une autre collection.

    Dans ton cas, tu initialises cette ObservableCollection avec une liste contenue dans Factory. Une fois l'initialisation faite, l'ObservableCollection est en quelques sorte indépendante de la liste.

    Tout ce que ta Factory ajoutera dans la liste sera inconnu de l'ObservableCollection.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 81
    Par défaut
    [Edit] En fait, c'est pas drôle de donner directement la réponse :p

    Effectivement, tu dois bien te servir d'une ObservableCollection. Reste à la remplir avec les bons éléments, l'interface détectera automatiquement les changements avec ce type de collection

    Indice : Tu as une couche en trop entre tes données et ta combobox :p

Discussions similaires

  1. [AC-2010] Remplir dynamiquement une listBox
    Par F.ORTIZ dans le forum IHM
    Réponses: 4
    Dernier message: 13/06/2013, 10h07
  2. Réponses: 0
    Dernier message: 13/09/2007, 08h33
  3. remplir dynamiquement une liste déroulante
    Par transistor49 dans le forum ASP
    Réponses: 11
    Dernier message: 11/07/2006, 10h53
  4. [C#] Comment remplir dynamiquement une table HTML ?
    Par tiboleo dans le forum ASP.NET
    Réponses: 3
    Dernier message: 31/05/2006, 09h51
  5. Réponses: 5
    Dernier message: 09/08/2005, 17h38

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