WPF ListView - как добавить элементы программно? - PullRequest
24 голосов
/ 20 августа 2009

Даже если я знаю, что это не идеально - мне нужно программно заполнить listView (по любой причине).

Я объявляю свои столбцы в разметке:

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

Я добавляю такие элементы в код (очевидно, что это цикл):

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

Где MyData определяется как:

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

Элементы добавляются (я вижу строки), но я не вижу никакого содержимого.

Кто-нибудь знает?

Любая помощь приветствуется!

1 Ответ

32 голосов
/ 20 августа 2009

Работает, изменяя код на:

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

Теперь это выглядит очевидным, но ... пойди разберись!

...