stackpanel的水平滚动不起作用
我尝试创建一个可滚动的水平堆栈面板,但我没有成功…
目前我的stackpanel有一个auto
宽度(问题可能就在这里),其中包含一些像grids
一样的项目。
现在,如果我的所有网格在stackpanel中都不可见(宽度太短)我无法滚动。 我已经尝试将stackpanel放在ScrollViewer
但它也不起作用。
我怎么能把它搞定? 谢谢
编辑这里是我的代码:
目前我的stackpanel有一个自动宽度(问题可能就在这里),其中包含一些像栅格一样的项目。
这是你的问题。 如果StackConnel的Orientation属性设置为Horizontal而无限的垂直空间(如果设置为Vertical),则StackPanel测量具有无限水平空间的子级。 因此,您必须为StackPanel本身或ScrollViewer指定显式宽度才能使其工作。
或者,您可以将ScrollViewer放在一个测量其子节点的Panel中,例如Grid(但不是StackPanel)。 这适用于例如:
但这不是因为StackPanel被认为具有无限宽度:
将ScrollViewers放在StackPanels中是个坏主意。
您应该将StackPanel放入ScrollViewer中,如下所示: