WPF将两个集合合并到一个DataGrid中

我有两个集合,我想在一张表中一起显示。 我打算为此使用水平的DataGrid,我试图找出将集合公开到DataGrid的最佳方法。 (这里描述了一个水平DataGrid解决方案:WPF水平DataGrid)

有一些荒谬的例子,有椅子和桌子。 在我的应用程序中,我有一张表格和一张椅子列表(桌子和椅子都有一个Date和NumberOfItems属性):

public List<Table> TableList { get; set; }
public List<Table> ChairList { get; set; }

在xaml中,我想将DataBind组合到一个组合列表中,以便得到如下所示的内容:

Date             | 01-Jan-2011 | 02-Jan-2011 | 03-Jan-2011 | 04-Jan-2011 
Number of tables |     5       |     6       |             |     7       
Number of chairs |     3       |             |     2       |       

TableList和ChairList没有相同数量的项目。 公开可绑定组合集合的最佳方法是什么?


尝试CompositeCollection类。 这里有一个很好的例子,包括如何在复合列表中显示多个项目类型的模板。 这里的好处在于,您可以在代码中创建集合并将其展示为绑定,或者从两个分开绑定的集合中将其构建到Xaml中。


我结束了将DataGrid绑定到DataTable的DataView。 我创建了一个FurniturePerDate对象,其中每个日期都具有可为空的Table和Chair属性,并使用一系列FurniturePerDate来创建DataTable。 非常不灵活,但它适用于我的用例。

链接地址: http://www.djcxy.com/p/64725.html

上一篇: WPF combine two collections in one DataGrid

下一篇: Resizing font in WPF list or grid to use space properly