web-dev-qa-db-fra.com

WPF ListView - comment ajouter des éléments par programme?

Même si je sais que ce n'est pas idéal - je dois remplir par programme un listView (pour une raison quelconque).

Je déclare mes colonnes dans le balisage:

            <ListView.View>
                <GridView>
                    <GridViewColumn Header="Name" DisplayMemberBinding="{Binding Path=Name}"/>
                    <GridViewColumn Header="Value" DisplayMemberBinding="{Binding Path=Value}"/>
                </GridView>
            </ListView.View>

J'ajoute des éléments comme celui-ci dans le code (c'est évidemment dans une boucle):

            MyData data = getDataItem(index); //< -- whatever
            ListViewItem item = new ListViewItem();
            item.DataContext = data;
            this.myListView.Items.Add(item);

Où MyData est défini comme:

public class MyData
{
    public string Name { get; set; }
    public string Value { get; set; }
}

Les éléments sont ajoutés (je peux voir les lignes) mais je ne vois aucun contenu.

Quelqu'un a la moindre idée?

Toute aide appréciée!

25
JohnIdol

Cela fonctionne en changeant le code en:

        MyData data = getDataItem(index); //< -- whatever
        this.myListView.Items.Add(data);

Maintenant, cela semble évident, mais ... allez comprendre!

32
JohnIdol