我有一个显示TabControl
的WPF UserControl
。有些UserControl
大于TabControl
并被裁剪,因此我通过将ContentPresenter
包裹在ScrollViewer
HorizontalScrollBarVisibility
和{{1}中来修改其模板设置为VerticalScrollBarVisibility
。
此解决方案的问题在于,由"Auto"
托管的相对大小的UserControl
现在可以获得比预期更宽的像素数,因为TabControl
不会限制其大小。
如何在WPF ScrollViewer
中滚动内容溢出而不使其相对大小的内容超出比例?
答案 0 :(得分:3)
我最终使用了这篇博文中描述的解决方案:
When to scroll? The problem of infinite-sized UI elements inside a ScrollViewer
总结基本理念:
因此,解决方案似乎很简单:我们可以告诉ScrollViewer具有双重行为:
如果可用的屏幕尺寸小于某个最小值,则允许滚动,并将内容的可用尺寸设置为最小尺寸。
如果可用的屏幕尺寸大于最小值,则表现得像一个普通的容器,只给它的孩子们屏幕上的空间。
答案 1 :(得分:0)
您必须修复高度或宽度
或
尝试将您的内容控件放入ScrollViewer