Usando ItemsSource para preencher o WPF ListBox - boa ideia?

Sou um codificador Cocoa / Objective-C (relativamente) experiente e estou aprendendo a mim mesmo C # e a estrutura WP

No cacau, ao preencher umNSTableView, é relativamente simples atribuir um delegado e uma fonte de dados à exibição. Esses métodos de delegação / fonte de dados são usados para preencher a tabela e determinar seu comportament

Estou montando um aplicativo simples que tem uma lista de objetos, vamos chamá-losDog objetos, cada um com umpublic string name. Este é o valor de retorno deDog.ToString().

Os objetos serão exibidos em umListBox, e gostaria de preencher essa visualização usando um padrão semelhante aoNSTableViewDataSource. Atualmente, parece estar funcionando usando:

public partial class MainWindow : Window, IEnumerable<Dog>
    {
        public Pound pound = new Pound();

        public MainWindow()
        {
            InitializeComponent();

            Dog fido = new Dog();
            fido.name = "Fido";
            pound.AddDog(fido);

            listBox1.ItemsSource = this;

            Dog spot = new Dog();
            spot.name = "Spot";
            pound.AddDog(spot);
        }

        public IEnumerator<Dog> GetEnumerator()
        {
            return currentContext.subjects.GetEnumerator();
        }

        System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
        {
            return GetEnumerator();
        }
    }

Mas eu estou querendo saber comocorrigi isto é. Eu literalmente instalei o Visual Studio por menos de uma hora, por isso é seguro dizer que não tenho ideia do que estou fazend

Esse é o padrão adequado? Adicionando o segundo item à lista spot) parece atualizar oListBox corretamente, mas estou me perguntando o que aciona as atualizações?O que acontece se eu atualizar oPound em um thread de segundo plano?Como posso perguntar manualmente aoListBox se atualizar? (Eu ainda preciso?)

Uma mudanç que eu sei que preciso fazer é refatorar oIEnumerable<Dog> implementação em sua própria classe, comoDogListItemsSource, mas quero garantir uma abordagem sólida antes de poli

Fique à vontad para indicar, nos comentários, quaisquer outros pontos que eu deva abordar ou ter em mente, grandes ou pequenos. Gostaria de aprender isso da maneira certa, pela primeira vez.

questionAnswers(2)

yourAnswerToTheQuestion