从父对象C#WPF中的对象列表在datagrid中创建一个子行/子行
假设在这个例子中,我有一个类型为car right的对象。 汽车等级如下:从父对象C#WPF中的对象列表在datagrid中创建一个子行/子行,c#,wpf,C#,Wpf,假设在这个例子中,我有一个类型为car right的对象。 汽车等级如下: class Car { public string Make { get; set; } public string Model { get; set; } public List<Wheel> Wheels { get; set; } } class Wheel { public int ID { get; set; } public string Size { g
class Car
{
public string Make { get; set; }
public string Model { get; set; }
public List<Wheel> Wheels { get; set; }
}
class Wheel
{
public int ID { get; set; }
public string Size { get; set; }
public string Shape { get; set; }
public string Brand{ get; set; }
}
所以基本上我想要的是列表控制盘
显示在子行/子行中
请参见下面的屏幕截图:
我在C#WPF工作以下是如何以嵌套网格方式显示数据
<DataGrid ItemsSource="{Binding Path=Cars}" AutoGenerateColumns="false"
RowDetailsVisibilityMode="Visible"
CanUserAddRows="False" >
<DataGrid.Columns>
<DataGridTextColumn Header="Make" Binding="{Binding Make}"/>
<DataGridTextColumn Header="Model" Binding="{Binding Model}"/>
</DataGrid.Columns>
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<DataGrid ItemsSource="{Binding Path=Wheels}" AutoGenerateColumns="false" CanUserAddRows="False">
<DataGrid.Columns>
<DataGridTextColumn Header="ID" Binding="{Binding Path=ID}"/>
<DataGridTextColumn Header="Size" Binding="{Binding Path=Size}" IsReadOnly="True"/>
<DataGridTextColumn Header="Shape" Binding="{Binding Path=Shape}" IsReadOnly="True"/>
<DataGridTextColumn Header="Brand" Binding="{Binding Path=Brand}" IsReadOnly="True"/>
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
</DataGrid>
以下是如何以嵌套网格方式显示数据
<DataGrid ItemsSource="{Binding Path=Cars}" AutoGenerateColumns="false"
RowDetailsVisibilityMode="Visible"
CanUserAddRows="False" >
<DataGrid.Columns>
<DataGridTextColumn Header="Make" Binding="{Binding Make}"/>
<DataGridTextColumn Header="Model" Binding="{Binding Model}"/>
</DataGrid.Columns>
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<DataGrid ItemsSource="{Binding Path=Wheels}" AutoGenerateColumns="false" CanUserAddRows="False">
<DataGrid.Columns>
<DataGridTextColumn Header="ID" Binding="{Binding Path=ID}"/>
<DataGridTextColumn Header="Size" Binding="{Binding Path=Size}" IsReadOnly="True"/>
<DataGridTextColumn Header="Shape" Binding="{Binding Path=Shape}" IsReadOnly="True"/>
<DataGridTextColumn Header="Brand" Binding="{Binding Path=Brand}" IsReadOnly="True"/>
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
</DataGrid>
到目前为止,您尝试了什么?问题听起来很谷歌化。到目前为止,你尝试过什么?问题听起来很谷歌化。感谢您的帮助!谢谢你的帮助!