WPF TreeView在悬停时突出显示行

时间:2012-05-03 14:30:55

标签: wpf treeview styles hover highlight

目前,将鼠标悬停在TreeView中的标题上会突出显示标题。我想悬停在TreeView中行的任何部分以突出显示整行(很像Windows资源管理器那样)。有人可以提供一个如何做到这一点的例子吗?

enter image description here

1 个答案:

答案 0 :(得分:4)

您需要将ControlTemplate的{​​{1}}更改为实际上是控件的整个宽度。

此处讨论了这个问题以及解决方案:

http://leecampbell.blogspot.com/2009/01/horizontal-stretch-on-treeviewitems.html

这里有另一个冗长的答案,没有讨论:

http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/b04f73e2-0b10-4d97-a6da-64df2e30c21d/

所以我的意思是那些例子作为指南。如果您使用与上面第二个链接完全相同的代码(来自MSDN论坛),只需添加:

TreeViewItem

<Trigger Property="IsMouseOver" Value="True"> <Setter Property="Background" TargetName="Bd" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" /> </Trigger> 你会看到你在鼠标悬停时获得高亮颜色。显然你需要调整颜色和诸如此类的东西,但这就是你需要做的 - 修改ControlTemplate的{​​{1}}以便它占用整个宽度并添加{{1 } ControlTemplate