目前,在TreeView当鼠标悬停在标题将突出头。 我想该行的任何部分悬停在TreeView以突出整个行(就像windows资源管理器一样)。 可能有人提供了如何做到这一点的例子吗?
Answer 1:
你需要改变ControlTemplate
为TreeViewItem
实际上是控制的整个宽度。
有一个关于这个问题的讨论,有一个解决方案,在这里一起:
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论坛),只是补充一点:
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" TargetName="Bd"
Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" />
</Trigger>
到ControlTemplate
,你会发现你的鼠标悬停在突出显示的颜色。 显然,您需要调整颜色和诸如此类的东西,但是这是你需要做什么-修改ControlTemplate
中的TreeViewItem
,使其占据整个宽度并添加Trigger
的IsMouseOver
。
文章来源: WPF TreeView Highlight Row On Hover