2012-06-04 154 views
3

我有一個WPF TabControl,它顯示UserControl s。一些UserControl s大於TabControl並被剪輯,因此我修改了其模板,將ContentPresenter包含在ScrollViewer中,其中HorizontalScrollBarVisibilityVerticalScrollBarVisibility設置爲"Auto"在WPF TabControl中滾動內容溢出

這種解決方案的問題是,相對大小由TabControl託管UserControl小號現在變得更寬像素thousaunds比他們都應該因爲ScrollViewer不限制它們的大小。

如何在WPF TabControl中實現滾動的內容溢出,而其相對大小的內容不會超出比例?

回答

3

最後我用這個博客帖子描述的解決方案:

When to scroll? The problem of infinite-sized UI elements inside a ScrollViewer

總結基本思路:

因此,解決方案似乎很簡單:我們可以告訴ScrollViewer中有雙重特性:

  • 如果可用的屏幕尺寸小於某個最小較小,允許滾動,並設置可用於大小內容是最小尺寸。

  • 如果可用的屏幕尺寸大於最小值,則表現得像一個普通的容器,它給予其子只有屏幕上的空間。

+0

如果上述鏈接死亡,請點擊此鏈接:http://web.archive.org/web/20121123092324/http://noamlewis.wordpress.com/2012/01/23/when-to-scroll-the - 問題-的無限大小的UI元素-內部-A-的ScrollViewer –

0

你要修復的高度或寬度

嘗試把你的內容控制在ScrollViewer中

+0

固定的高度和寬度是不是一種選擇。內容需要縮小並隨可用尺寸增長。正如我的問題所述,我已經嘗試在ScrollViewer中包裝所有東西,但我沒有得到我想要的行爲。 –