gpt4 book ai didi

c# - 如何(垂直)放置不同高度的 WrapPanel 项目?

转载 作者:太空狗 更新时间:2023-10-30 01:19:08 25 4
gpt4 key购买 nike

现在是这样的:

Tiles, not apposed

这就是我想要的方式:

Tiles, apposed

如图所示,图 block 应尽可能密集地排列,它们之间只有固定的边距。

这是我的代码:

<Grid Background="Gray">
<TextBox x:Name="BoardNameTextBox" HorizontalAlignment="Left" Height="23" Margin="40,3,0,0" TextWrapping="Wrap" Text="pol" VerticalAlignment="Top" Width="120"/>
<Button Content="Button" HorizontalAlignment="Left" Margin="491,3,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click"/>
<Grid Margin="0,30,0,0" Background="WhiteSmoke">

<WrapPanel VerticalAlignment="Top" HorizontalAlignment="Left">
<WrapPanel.Resources>
<Style TargetType="{x:Type Rectangle}">
<Setter Property="Width" Value="80" />
<Setter Property="Height" Value="80" />
<Setter Property="Margin" Value="3" />
<Setter Property="Fill" Value="#4DB4DD" />
</Style>
</WrapPanel.Resources>

<Rectangle Width="150" />
<Rectangle />
<Rectangle />
<Rectangle />
<Rectangle Width="200"/>
<Rectangle Height="25"/>
<Rectangle Height="40"/>
<Rectangle />
<Rectangle Width="220"/>
<Rectangle Height="30"/>
<Rectangle Height="30"/>
<Rectangle Width="150" />
<Rectangle />
</WrapPanel>

</Grid>

</Grid>

该代码当然是针对我的特定问题的示例代码 - 稍后它应该只是一个包装面板(或任何其他控件),其中包含以编程方式添加的项目(自定义控件)(如“WrapPanel1.Children.Add (r);").我希望这些图片是不言自明的。

最佳答案

您正在寻找的是级联布局。它在 javascript 中有一个非常流行的实现,称为 Masonry它有一个名为 WPF-MasonryWPF 副本.查看前面的链接以获取详细信息和演示。

关于c# - 如何(垂直)放置不同高度的 WrapPanel 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24158561/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com