stackpanel的水平滚动不起作用

我尝试创建一个可滚动的水平堆栈面板,但我没有成功…

目前我的stackpanel有一个auto宽度(问题可能就在这里),其中包含一些像grids一样的项目。

现在,如果我的所有网格在stackpanel中都不可见(宽度太短)我无法滚动。 我已经尝试将stackpanel放在ScrollViewer但它也不起作用。

我怎么能把它搞定? 谢谢

编辑这里是我的代码:

                  

目前我的stackpanel有一个自动宽度(问题可能就在这里),其中包含一些像栅格一样的项目。

你的问题。 如果StackConnel的Orientation属性设置为Horizo​​ntal而无限的垂直空间(如果设置为Vertical),则StackPanel测量具有无限水平空间的子级。 因此,您必须为StackPanel本身或ScrollViewer指定显式宽度才能使其工作。

或者,您可以将ScrollViewer放在一个测量其子节点的Panel中,例如Grid(但不是StackPanel)。 这适用于例如:

                   

但这不是因为StackPanel被认为具有无限宽度:

                 

将ScrollViewers放在StackPanels中是个坏主意。

您应该将StackPanel放入ScrollViewer中,如下所示: