2012-01-03 59 views
2

我有以下数据结构多行数据网格来处理集合中的集合?

class Car 
{ 
    int CarID; 
    string CarModel; 
    string CarColor; 
    string CarAge; 
} 

class Person 
{ 
    int ID; 
    string FirstName; 
    string Surname; 
    List<Car> Cars; 
} 

我有存储在可观察到的集合中的人 -

ObservableCollection<Person> People; 

我需要在这样的样机一个DataGrid,以显示他们 - enter image description here

正如你所看到的,一个人可以有一个或多个汽车,当他们有多辆汽车时,我想在同一'行'中显示多辆汽车的细节。

这是可能与WPF?如果有,我将如何设置绑定?

回答

6

RowDetailTemplate做你想要的吗?你可以用它来按你想要的方式显示孩子。只是谷歌它看到一些更多的例子

<DataGrid ItemsSource="{Binding People}"> 
    <DataGrid.Columns> 
    <DataGridTextColumn Header="ID" Binding="{Binding ID}"/> 
    <DataGridTextColumn Header="First Name" Binding="{Binding FirstName}"/> 
    <DataGridTextColumn Header="Last Name" Binding="{Binding Surname}"/> 
    </DataGrid.Columns> 
    <DataGrid.RowDetailsTemplate> 
     <DataTemplate> 
      <DataGrid ItemsSource="{Binding Cars}"> 
      <DataGridTextColumn Binding="{Binding Path=CarModel}" Header="Model" /> 
      <DataGridTextColumn Binding="{Binding Path=CarAge}" Header="Age" /> 
      <DataGridTextColumn Binding="{Binding Path=CarColor}" Header="Color" /> 
     </DataGrid> 
     </DataTemplate> 
    </DataGrid.RowDetailsTemplate> 
    </DataGrid> 
+0

该引用指向SilverLight,它没有关于如何使用它的信息显示子行。 – Paparazzi 2012-01-03 12:33:16

+0

更新了链接。 – blindmeis 2012-01-03 13:09:14