目前,将鼠标悬停在 TreeView 中的标题上将突出显示该标题。我想将鼠标悬停在 TreeView 中行的任何部分上以突出显示整行(就像 Windows 资源管理器所做的那样)。有人可以提供一个如何做到这一点的例子吗?
您需要更改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>
to the ControlTemplate
您会看到鼠标悬停时获得突出显示颜色。显然你需要调整颜色等等,但这就是你需要做的 - 修改ControlTemplate
of the TreeViewItem
这样它就占据了整个宽度并添加了一个Trigger
for IsMouseOver
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)