遇到的问题
有些时候需要修改TreeView中的某些节点的颜色,例如我现在做的搜索功能,搜索到符合要求的节点,就改变其背景色。TreeView的内容是直接通过一个对象集合绑定的,于是就不能像其他控件那样直接通过属性修改。
解决思路
以前为了解决动态展开最后一个节点
时找到了以下一段代码
public static void ExpandLastNode(TreeView treeView) { if (treeView.Items.Count > 0) { var lastModel = treeView.Items[treeView.Items.Count - 1]; TreeViewItem currentContainer = treeView.ItemContainerGenerator.ContainerFromItem(lastModel) as TreeViewItem; currentContainer.IsExpanded = true; }