2012-01-03 57 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