如何开发支持数据绑定的WPF数据网格控件?

时间:2008-10-13 09:40:54

标签: wpf data-binding

我是WPF的新手。我想开发一个支持数据绑定的数据网格控件。

有很多关于数据绑定到现有控件的信息,但我找不到任何有关如何从头开发支持数据绑定的控件的信息。

我不希望这个问题有一个简单的答案,让我入门的链接会很好。

4 个答案:

答案 0 :(得分:2)

您打算构建DatGrid控件吗?这里有一个http://www.codeplex.com/wpf/Release/ProjectReleases.aspx?ReleaseId=14963

绑定是WPF的重要功能之一,Dependancyproperty实际上赋予控件绑定和侦听数据更改事件(数据绑定)的能力。 当您开发控件时,您不需要做任何特殊的事情来使DataBinding工作,只需要为控件定义适当的Dependency属性,

您可以在此处阅读有关DataBinding的更多信息 http://msdn.microsoft.com/en-us/library/ms752347.aspx

答案 1 :(得分:0)

感谢您的回答。

是的,当我说'网格'时我的意思是'数据网格'。我编辑了这个问题,以便更清楚。

关于MSDN main的文章描述了如何使用数据绑定,并且如果你想开发一个支持数据绑定的WPF控件,你不必说太多。

答案 2 :(得分:0)

以下学习路径将让您坚定不移

  1. 了解依赖项属性
  2. 编写一个简单的堆栈面板控件 - 熟悉排列测量覆盖
  3. 使用带有 AffectsArrange 的DP来设置方向
  4. 编写一个SimpleListBox控件 - 绑定到一个标量列表(比如List<string>
  5. 更新SimpleListBox控件以支持INotifyCollectionChanged
  6. 更新SimpleListBox控件以支持绑定到列表的属性(例如FirstName上的List<Person>
  7. IWeakEventListener
  8. 您可能希望支持绑定到DataTable,因此添加对IListSource,ITypedList,IBindingListView和IBindingList的支持
  9. 为了获得良好的响应能力,您可能需要实施自己的虚拟化面板
  10. 添加对模板的支持

答案 3 :(得分:0)

微软几天前发布了一个DataGrid作为WPF工具包的一部分:

See the WPF Toolkit October 2008 at codeplex

您可以使用数据绑定和验证。