WPF listbox rempli dynamiquement - comment l'obtenir pour actualiser?

Je suis nouveau sur WPF, alors j'ai pensé que c'était simple. J'ai un formulaire avec une zone de liste et un bouton. Dans le gestionnaire d'événements click pour le bouton, je fais quelque chose de manière itérative qui génère des chaînes, qui je veux mettre dans la zone de liste que je les reçois. Le code xaml de la zone de liste, c'est comme

    <ListBox Height="87" Margin="12,0,12,10" Name="lbxProgress" VerticalAlignment="Bottom">
        <ListBox.BindingGroup>
            <BindingGroup Name="{x:Null}" NotifyOnValidationError="False" />
        </ListBox.BindingGroup>
    </ListBox>

et le gestionnaire de clic est comme

private void btn_Click(object sender, RoutedEventArgs e)  
{  
  List<String> lstrFiles= new List<String>(System.IO.Directory.GetFiles   ("C:\\temp", "*.tmp");  

  foreach(string strFile in lstrFiles)  
    lbxProgress.Items.Add(strFile);  
}  

Assez simple. Depuis mon opération est longue, je veux la zone de liste pour mettre à jour comme je le fais chaque un - comment puis-je obtenir la boîte pour mettre à jour dynamiquement sur chaque ajout?

Pour résumer autres réponses: toujours utiliser la liaison de données (et préférez les collections observables); ne jamais ajouter des éléments à conteneurs manuellement dans le code.
Pour résumer le commentaire ci-dessus: hein? A-t-il eu des changements dans ce domaine? Quel est le point de ôtant une telle opération simple que de mettre à jour et actualiser?

OriginalL'auteur GTAE86 | 2009-12-10