如果在百度或者google里搜索 带checkbox的treeview,几乎能够搜索到无数的利用在treeview中利用template实现的方法,不是说这种实现方式不好,但是对于一个习惯于在后台代码中实现很多东西的我来说,来回的在不同的page中添加来添加去着实麻烦了,而且我个人还觉得有一些其他的问题。
于是开始思考如何在后台使用,而且不使用template的方法构造一个呢能够checkbox的treeview呢?
结果被我成功的实现了:显秀一个效果:
经过了反复的资料查询以及反复的思想推敲,我得到如下的结论:
1、所有Template定义最终都是转化为后台代码实现,所以为什么我不能直接在后台实现呢?
2、对于一个标准的Treeview来说,其内部的每一个节点,其实是一个TreeviewItem对象;
3、Template其实就是定义一个Treeview的TreeViewItem的Header;(Header里有什么东西就显示什么东西)
4、任何一个节点的子节点,其实就是该TreeviewItem对象的Items中的另一个TreeviewItem。
所以我要做的关键就是重新定义一个符合我需要的TreeViewItem类,于是: