| Цитата(Rohoss @ 1.8.2009, 08:39) | | Могу, конечно, ошибаться, но вроде как ListView не может содержать несколько вложенных друг в друга GridViewColumn. Для этого вам стоит использовать TreeView или же морочится с Template'ами |
В определении листвью пишешь так:
| Код | <ListView Name="mainListView"> <ListView.View> <GridView> <GridViewColumn Header="Наименование" DisplayMemberBinding="{Binding Path=Title}"/> <GridViewColumn Header="Цена" DisplayMemberBinding="{Binding Path=Cost}"/> <GridViewColumn Header="Количество" DisplayMemberBinding="{Binding Path=Amount}"/> <GridViewColumn Header="Сумма" DisplayMemberBinding="{Binding Path=Summ}"/> </GridView> </ListView.View> </ListView>
|
Надо создать класс данных (бизнес объект) он может быть просто классом, или DataTable (DataRow) или полученный из запроса LINQ и т.д.
| Код | class SomeClass { public String Title { get; set; } public double Cost { get; set; } public int Amount { get; set; } public double Summ { get {return Cost * Amount;} } }
|
Вот так я иницилизировал коллекцию объектов
| Код | List<SomeClass> list = new List<SomeClass>(); list.Add(new SomeClass() { Title = "Бананы", Cost = 30, Amount = 5 }); list.Add(new SomeClass() { Title = "Помидоры", Cost = 25, Amount = 15 }); list.Add(new SomeClass() { Title = "Редис", Cost = 60, Amount = 1 }); list.Add(new SomeClass() { Title = "Картошка :)", Cost = 90, Amount = 50 });
mainListView.ItemsSource = list;
|
|