我想知道 TreeView 是否有一个“全局”生成器,或者在扩展时是否在每个节点/级别上创建了一个新的 ItemContainerGenerator?
任何不得不处理这种深度的 wpf 的人?
再次提前感谢您的帮助。:) :)
我想知道 TreeView 是否有一个“全局”生成器,或者在扩展时是否在每个节点/级别上创建了一个新的 ItemContainerGenerator?
任何不得不处理这种深度的 wpf 的人?
再次提前感谢您的帮助。:) :)
我也将这个问题发布到 msdn 论坛。这就是他们对我的回答。
我想我是对的。每个节点都有自己的生成器。
一探究竟:
任何 ItemsControl(包括 TreeView)的 ItemContainerGenerator 都与控件相关联,并负责代表 ItemsControl 生成 UIElement 项。
ItemContainerGenerator 生成每个项目,而不是每个项目都创建自己的 ItemContainerGenerator。但正如您正确指出的那样,treeviewitem 本身就是 itemscontrol,因此每个都有其生成器,该生成器将生成其子级。MSDN 参考:http: //msdn.microsoft.com/en-us/library/system.windows.controls.itemcontainergenerator.aspx
ItemsControl 通过 IItemContainerGenerator 接口生成其项目。ItemsControl 的 ItemContainerGenerator 属性是 ItemContainerGenerator 类型,它实现了 IItemContainerGenerator 接口。