【发布时间】:2013-04-08 08:58:47
【问题描述】:
我正在处理 wpf 窗口,它显示相邻的项目列表并带有包装,我尝试以这种方式使用 WrapPanel:
<Grid>
<ItemsControl>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.Items>
<Button Content="01" Height="30" Width="70"/>
<Button Content="02" Height="35" Width="72"/>
<Button Content="03" Height="20" Width="74"/>
<Button Content="04" Height="25" Width="76"/>
<Button Content="05" Height="18" Width="78"/>
<Button Content="06" Height="50" Width="70"/>
<Button Content="07" Height="40" Width="72"/>
<Button Content="08" Height="55" Width="74"/>
<Button Content="09" Height="45" Width="76"/>
<Button Content="10" Height="25" Width="78"/>
<Button Content="11" Height="20" Width="80"/>
<Button Content="12" Height="30" Width="70"/>
<Button Content="13" Height="45" Width="72"/>
<Button Content="14" Height="30" Width="74"/>
<Button Content="15" Height="20" Width="76"/>
<Button Content="16" Height="25" Width="78"/>
<Button Content="17" Height="35" Width="80"/>
<Button Content="18" Height="50" Width="70"/>
<Button Content="19" Height="55" Width="72"/>
<Button Content="20" Height="45" Width="74"/>
<Button Content="21" Height="20" Width="76"/>
<Button Content="22" Height="60" Width="78"/>
<Button Content="23" Height="20" Width="80"/>
<Button Content="24" Height="25" Width="70"/>
<Button Content="25" Height="30" Width="72"/>
</ItemsControl.Items>
</ItemsControl>
</Grid>
结果如下:
实际上这个结果对我来说并不令人满意,因为如果你把WrapPanel 想象成网格(行和列)你会发现没有列,但是有固定大小的行。我还需要制作WarpPanel 或其他一些没有列的控件,看看这个假想的图像:
请注意,没有行也没有列。这就是我想做的。
有人有解决这个问题的想法吗?
【问题讨论】:
-
我看不到任何图像..
-
就像 Clemens 已经写的一样,您需要编写自己的 Panel 并带有某种 bin 包装。 This 可能是一篇不错的文章。