在多个数据网格控件中显示相同集合的最佳实践

时间:2014-12-11 16:44:07

标签: c# wpf wpfdatagrid

我遇到需要创建选项卡控件的情况,每个选项卡上都有一个数据网格。 我正在使用一个可观察的集合,例如集合中的项目是A,B,C组。 一个选项卡/数据网格将显示来自组A的项目,随后的选项卡/数据网格将显示组B& C分别。对3个数据网格中的任何一个的任何编辑都必须最终在可观察集合中捕获。

我的问题是实现这一目标的最佳方法是什么?我是WPF的新手,我的第一个方法是创建用户控件datagrid,因为每个数据网格将具有相同的列和业务逻辑。是否有另一种方法来定义datagrid列定义并将其应用于每个数据网格?

此外,我会为每个数据网格创建一个ViewModel吗?任何高级别的指导都会有所帮助。

1 个答案:

答案 0 :(得分:1)

我建议你使用CollectionViewSource类。它将允许您创建不同的视图以用作不同网格的数据源。但是所有这些视图都会将更改传播到一个基础Observable Collection。 这是一篇非常好的文章,解释了如何使用CollectionViewSource: http://blogs.msdn.com/b/bethmassi/archive/2008/11/07/loading-data-and-binding-controls-in-wpf-with-collectionviewsource.aspx