2012-05-03 69 views
1

當前,懸停在TreeView中的標題上會突出顯示標題。我想將鼠標懸停在TreeView的任何部分,以突出顯示整個行(很像Windows資源管理器)。有人能提供一個如何做到這一點的例子嗎?WPF TreeView突出顯示懸停時的行

enter image description here

+0

可能重複[突出顯示整個TreeViewItem行在WPF](http://stackoverflow.com/questions/664632/highlight-whole-treeviewitem-line-in-wpf) – Justin

回答

3

您需要更改ControlTemplateTreeViewItem實際上是控制的整個寬度。

有一個關於這個問題的討論,有一個解決方案,在這裏一起:

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你會發現你的鼠標懸停在突出顯示的顏色。顯然你需要調整顏色和內容,但這就是你需要做的 - 修改ControlTemplateTreeViewItem,以便它佔用整個寬度併爲IsMouseOver添加Trigger

+0

該示例只是使標題變大,它只突出顯示選擇的標題。我需要整行的高亮部分(包括之前的展開按鈕和空白部分),並且我希望高亮在懸停而不是選擇時發生。 – KrisTrip

+1

我更新了我的答案以提供更多信息。它不完全是你要求的(你需要調整它),但它應該讓你去。 – Tim

+0

李坎貝爾鏈接和所有的討論只是一直向右拉伸高光,它不會向左拉伸。 – Mark

相關問題