2014-02-20 28 views
0

我想要一個滾動條出現在一個堆棧面板,當有太多的項目不適合在屏幕上,就像列表框一樣。我不能把它放到滾動查看器中,因爲在這種情況下,水平的StackPanel會停止垂直縮放元素。 ScrollViewer會告訴它的內容,它具有無限的位置,並且項目始終保持其原始大小,並且ScrollViewer只會裁剪元素,並在高度太小時顯示垂直滾動條,如果太大則會留下空白區域。 我可能需要對ScrollViewer的MeasureOverride()方法進行一些技巧性的覆蓋,以使其內容適合該面板,而不會使垂直滾動條出現,並佔用儘可能多的寬度,但我所有的嘗試都失敗了。如何讓StackPanel在一個方向上滾動內容?

+0

嘗試使用其他面板而不是'StackPanel'。 Grid,Dockpanel,UniformGrid等。 –

+1

我從來沒有聽說過垂直縮放元素的水平StackPanel –

+0

請顯示您正在使用的代碼。這將有助於提出解決方案。 – TrueEddie

回答

1

ScrollViewer.HorizontalScrollBarVisibilityScrollViewer.VerticalScrollbarVisibility的值將決定ScrollViewer內部元素的佈局行爲。

此:

<ScrollViewer VerticalScrollBarVisibility="Disabled" 
       HorizontalScrollBarVisibility="Auto"> 
    <StackPanel Orientation="Horizontal"> 
     <!-- ... --> 
    </StackPanel> 
</ScrollViewer> 

將導致當需要時,而拉伸(未縮放,這是完全不同的東西)的內容的StackPanel垂直水平滾動條出現。

+1

我知道在評論中說這種無構造的東西在政治上是不正確的......但是看看你......實際上回答了一個問題。很高興再次回到團隊中......我最近在回答問題時有點鬆懈,花更多時間回顧可怕的非答案,問題和評論。 – Sheridan

+0

haha​​hah @Sheridan:P –

+0

非常感謝,它似乎在工作。我發誓我和BarVisibity一起打球,我所得到的只是裁剪元素的底部,但是我複製了你的標記並且工作。我確信VerticalScrollBarVisibility只是一個垂直滾動條的Visibilty(爲什麼我這麼認爲?),並且它不影響排列。 –

相關問題