TOC

This article is currently in the process of being translated into Chinese (~77% done).

The TreeView control:

TreeView introduction

TreeView控件使你能够展示带有层级的数据,每一个数据由树中的一个节点代表。每一个节点可以拥有子节点,子节点也可以拥有自己的子节点。如果你用过Windows的资源管理器,那就应该见过TreeView的样子——它就是位于Windows资源管理器的左半部分,显示你设备上文件夹结构的控件。

WPF与WinForms中的TreeView

如果你曾经使用过WinForms中的TreeView,你可能认为TreeView是一种容易使用但很难自定义的控件。在WPF中,情况有点不同,至少对新手来说,它上手有一些复杂,但是自定义却简单得多。就像其他WPF控件一样,TreeView一开始看起来完全没有样式,但是你可以轻易地为它创造样式。

就像ListView控件一样,TreeView也有它自己的项目类型,叫做TreeViewItem,你可以用它构成TreeView。如果你是资深的WinForms用户,你可能喜欢手动生成TreeViewItem,然后添加它们到TreeView的Items属性中,这确实是可行的。但由于这是WPF,我们更推荐绑定TreeView到一个分级数据结构上,然后使用合适的模板来渲染内容。

我们会将两种方法都展示给你,虽然传统而又优秀的WinForms式生成方法看起来更简单,但是你一定要试一试WPF的方法——长远来看,它有更高的灵活性,也可以和你项目中的其他WPF代码有更好的配合。

小结

WPF中的TreeView确实是一个复杂的控件。在下一章中,我们会给出第一个例子,它看起来很简单,但是一旦你深入其中,你就会看到内在的复杂性。幸运的是,TreeView控件会用极大的可用性和灵活性奖励你。为了展示这些特性,我们使用了一整个分类来讲述TreeVIew,点击下一章开始。

This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!