root | BuildRoot 方法中创建的根项。 |
IList<TreeViewItem> TreeView 中显示的行列表。稍后可使用 GetRows() 进行访问。
重载此方法可控制行的生成方式。
当调用 Reload 以及每次展开或折叠项时,将调用此方法。BuildRow 的默认实现负责根据完整树和项的展开状态来缓存展开的行。
对于大型数据集或经常变化的数据,它仅适用于创建 TreeView 的行而非完整树。在这种情况下,可重载此方法以手动构建行。如果遇到折叠的父项,则可忽略该父项的后代(因为它们不可见)。使用 CreateChildListForCollapsedParent() 方法设置该项的子项。
使用此方法时,BuildRoot 应仅创建根 TreeViewItem(而非完整树)。还务必覆盖 GetAncestors() 和 GetDescendantsThatHaveChildren(),并使用模型数据来获取此信息,否则子树的搭建和展开将失败。
手动构建行时,请记得使用 TreeView 的搜索字符串来筛选项。
另请参阅:BuildRoot、SetupParentsAndChildrenFromDepths、SetupDepthsFromParentsAndChildren 和 TreeViewItem。