2011-04-20 216 views
3

我在裏面有一個TreeView(唯一的控件),我只想在高度不夠時看到垂直滾動條。如何有一個WPF TreeView垂直滾動條,但不是水平滾動條?

要沒有水平滾動條,我必須考慮它的寬度與TreeView的寬度,對不對?但是,當我只指定寬度以將TreeView的寬度拉伸至Window的寬度時,不會出現滾動條。

有沒有辦法解決這個問題?

或者,如果我可以這樣做,以便我不必指定TreeView的寬度和高度,並在高度不夠時調整其寬度,以適應垂直滾動條,那將是最好的。

+0

也許我的解決類似的問題將有所幫助: [防止自動水平滾動的TreeView控件(http://stackoverflow.com/questions/3225940/prevent-automatic-horizo​​ntal-scroll-in-treeview/9479175#9479175 ) – 2012-02-28 09:18:20

回答

17

我使用這些屬性在我TreeViewScrollViewer

<TreeView ScrollViewer.VerticalScrollBarVisibility="Auto" 
      ScrollViewer.HorizontalScrollBarVisibility="Disabled" /> 

只要你TreeView寬度的內容延伸到剛好適合您TreeView的寬度,你應該罰款。

+0

感謝它做得很好。出於好奇,你爲什麼說「以防萬一」? :O同樣在你的最後一句話中,你的意思是讓TreeView寬度和Window的寬度一樣大,減去稍後會出現的滾動條寬度? – 2011-04-20 21:37:54

+2

@Joan Venge:不知道爲什麼我把「以防萬一」放在那裏...... -erases-我的最後一句話,是指TreeView內部的寬度符合TreeView自己的寬度。 – BoltClock 2011-04-20 21:39:06

+0

謝謝你,現在明白了。當計時器允許我時,將它標記爲答案。 – 2011-04-20 21:40:38