通过代码隐藏来设置wpf中树视图的背景颜色

本文关键字:视图 背景 颜色 wpf 代码 隐藏 设置 | 更新日期: 2023-09-27 18:28:37

我目前工作的项目在wpf中,我比wpf新。在我的项目中,我想搜索树视图,当匹配发生时,我需要突出显示该元素。我像这样工作,但我未能设置节点的背景颜色。

foreach (object item in treeView1.Items)
{
     cls.Node n=(cls.Node)item;
     n.IsSelected = true;               
}


有人能帮我吗。上面的代码是一个示例代码。

通过代码隐藏来设置wpf中树视图的背景颜色

您必须获得包装器TreeViewItem来设置背景。因为TreeView在其ItemsPanelTemplate中不使用VirtualizingStackPanel,所以我们可以安全地使用ItemContainerGenerator从某些项目获取TreeViewItem

foreach (object item in treeView1.Items) {
  //cls.Node n=(cls.Node)item;
  //n.IsSelected = true;               
  var tvItem = treeView1.ItemContainerGenerator.ContainerFromItem(item) 
               as TreeViewItem;
  if(tvItem != null) tvItem.Background = Brushes.Blue;//just an example
}

我不确定原始代码(上面评论的)是否是您的尝试,所以如果需要,只需取消注释即可(cls.Node实际上是您的自定义类)。