C# Stackpanel中的水平方向,Stackpanel宽度末端的新行
假设我们有一个水平方向的Stackpanel,宽度为100px 在它里面,我画了十一幅10像素宽的正方形画布 这意味着最后一个正方形将在视野之外,因为它将使stackpanel宽度延长10px。所以我想把这个正方形换成一条新的线 是否有可以执行此操作的控件? 最困难的部分是Stackpanel是动态的,因此如果我调整WPF窗口的大小,Stackpanel将是50px,这将导致2条完整的正方形线和第三条带有单个正方形的线 我希望这是有道理的。 我该怎么做C# Stackpanel中的水平方向,Stackpanel宽度末端的新行,c#,wpf,xaml,stackpanel,C#,Wpf,Xaml,Stackpanel,假设我们有一个水平方向的Stackpanel,宽度为100px 在它里面,我画了十一幅10像素宽的正方形画布 这意味着最后一个正方形将在视野之外,因为它将使stackpanel宽度延长10px。所以我想把这个正方形换成一条新的线 是否有可以执行此操作的控件? 最困难的部分是Stackpanel是动态的,因此如果我调整WPF窗口的大小,Stackpanel将是50px,这将导致2条完整的正方形线和第三条带有单个正方形的线 我希望这是有道理的。 我该怎么做 谢谢,Jonatan在这种情况下,包裹面板
谢谢,Jonatan在这种情况下,包裹面板是您所需要的
<WrapPanel Width="100" Orientation="Horizontal">
<Button Width="10" Height="20"/>
<Button Width="10" Height="20"/>
<Button Width="10" Height="20"/>
<Button Width="10" Height="20"/>
<Button Width="10" Height="20"/>
<Button Width="10" Height="20"/>
<Button Width="10" Height="20"/>
<Button Width="10" Height="20"/>
<Button Width="10" Height="20"/>
<Button Width="10" Height="20"/>
<Button Width="10" Height="20"/>
</WrapPanel>
我认为您应该使用
WrapPanel
而不是StackPanel
或应用此样式:
<StackPanel>
<StackPanel.Style>
<Style TargetType="{x:Type StackPanel}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type StackPanel}">
<WrapPanel/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</StackPanel.Style>
</StackPanel>
先生,你是救命恩人。谢谢如果他的stackpanel出现在许多页面中,这可能是一个很好的解决方案。但就像我说的,他应该用包装纸