将内容包装在stackpanel中

是否可以在stackpanel中包装内容?

我知道我们可以使用WrapPanel代替。 但是出于代码修改的原因,我必须使用Stackpanel。

那么,有没有办法在说出5个项目之后在stackpanel包装中制作物品……谢谢!

创建包含所需项目数的嵌套StackPanel

在下面的示例中,您有两行,分别由元素占用,而这些元素又包含五个将水平显示在彼此旁边的项目。

                 

对我来说,一个简单的WrapPanel工作正常:

  

不在StackPanel或任何其他容器内。 在某些情况下,将Width设置为常量值可能会更好,因为将其绑定到ActualWidth可以防止缩小大小(例如,当父控件缩小时,WrapPanel不会)

      

根据您的情况,您可以使用UniformGrid 。 这里也可以找到一些例子。

您可以将其定义为包含5个这样的项目。

      

然而,每个项目将获得完全相同的宽度,因此不确定这是否适合您。

没有包装面板,我认为你不能做到这一点。 也许您可以尝试将一个wrapPanel放在堆栈面板中 – 将其宽度设置为堆栈面板的实际宽度。 你可以绑定它,如Width="{Binding ActualWidth, ElementName=StackPanel1}"

但这只是一个黑客 – 我认为包装面板最适合您的需求。