2012-06-04 95 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中包装所有东西,但我没有得到我想要的行为。 –