从Silverlight创建自定义数据网格

时间:2011-08-09 18:37:42

标签: c# wpf

我正在看这个页面:

http://leeontech.wordpress.com/2010/02/01/summary-row-in-datagrid/

但他们正在使用silverlight。我正在尝试创建该用户控件以在WPF C#应用程序中使用它。我的意思是,不使用Silverlight。但我找不到命名空间:GroupHeader

我很难过。提前谢谢。

2 个答案:

答案 0 :(得分:1)

我认为你无法在WPF中使用Silverlight控件。

向WPF数据网格添加页脚行是很多人抱怨的内容;它是开箱即用的,这是荒谬的。

请参阅MSDN中的this thread

亲自经历过这一切,你最好的选择可能就是咬紧牙关并使用第三方控制。我知道,这很糟糕。

答案 1 :(得分:1)

好的,你可以完全这样做,在某些情况下我甚至会推荐它。

  1. 使用CollectionViewSource,您可以轻松地对数据进行分组。在HeaderTemplate中,您甚至可以使用Expander(或自己制作)并获得您可能想要的动画。以下是此示例的链接:http://jerrytech.blogspot.com/2010/06/wpf-data-presentation-step-by-step.html

  2. 使用ItemsControl,您可以轻松呈现您的群组和详细信息。在ItemTemplate中你可以使用样式使它看起来像一个网格(如果这真的是你想要的)。如果你的集合中有多种类型的对象,你也可以根据类型移动样式(吃那个数据网格!)。

  3. 你可以连接你的列标题(这实际上是自定义对象,对吗?)并处理所有排序和类似的东西。它们看起来很合适!不像datagrid WinForm列标题!

  4. 这就是困难(不是不可能,但更多的编码)。

    1. 用户可调整大小的列。

    2. 用户可重排列。

    3. 使用底部空行的新记录。

    4. 从Excel粘贴(在数据网格中也不起作用)。

    5. 选择行,突出显示列标题。

    6. 就是这样。

      在很多情况下,这真的很不错。

      在大多数情况下,我无法忍受数据网格。对UX的限制太多了。