我有一个列表,上面有身份证,名字和价格。每个这样的项目都有一个包含类别的子列表。
因此,“对于每个”项目,我想显示所有的子项目。应该是这样的:

但我不知道该怎么做。这是我的xaml代码。
<ListView.View>
<GridView>
<GridViewColumn Width="140" Header="ID" DisplayMemberBinding="{Binding ID}"/>
<GridViewColumn Width="140" Header="Name" DisplayMemberBinding="{Binding Name}" />
<GridViewColumn Width="300" Header="Price" DisplayMemberBinding="{Binding Price}" />
</GridView>
<!-- ??? -->
<Gridview ItemSource="{Binding Childs}">我想我必须添加一个子网格,但我不知道怎么做。
这是我的班级结构
public class GroupedItem
{
public int ID { get; set; }
public string Name { get; set; }
public float Price { get; set; }
public IEnumerable<Item> Childs { get; set; }
}有人有主意吗?
发布于 2015-10-01 08:03:03
您可以使用datagrid来完成这一任务:
<w:DataGrid ItemsSource={Binding Source={StaticResource GroupedItemList}}>
<w:DataGrid.RowDetailsTemplate>
<DataTemplate>
<w:DataGrid ItemsSource={Binding Childs }>
</w:DataGrid>
</DataTemplate>
</w:DataGrid.RowDetailsTemplate>
<w:DataGrid.Columns>
<w:DataGridTextColumn Header="Name" DisplayMemberBinding="{Binding Name}" />
<w:DataGridTextColumn Header="Price" DisplayMemberBinding="{Binding Price}" />
</w:DataGrid.Columns>此外,您还可以在codeplex中使用这个数据集--它是免费的
WPF扩展DataGrid
发布于 2015-10-01 08:06:59
您可能需要使用所谓的树状网格视图。有非常酷的专有实现,由DevExpress和不碎片。但也有免费的灵魂,下降的这里
发布于 2015-10-01 08:10:48
在listviewitem中,必须使用其他listview构建一个模板,以便将第二个listview绑定到
public IEnumerable<Item> Childs { get; set; }https://stackoverflow.com/questions/32882223
复制相似问题