我在自动将 StackPanel 分成下一行时遇到问题。这是示例代码:
<StackPanel Orientation="Horizontal" Width="180">
<TextBlock.../>
<TextBlock.../>
<TextBlock.../>
<Image.../>
...
</StackPanel>
现在我想实现这样的目标:当 StackPanel 中没有足够的空间容纳另一个元素时,应该将其放置在新行中。我怎样才能实现这个(不需要使用 stackpanel)?
PS:我的目标是将文本和图像放在一行中(当没有足够的空间容纳另一个元素时,它当然可能会中断)。也许您可以提供比使用文本块和图像更好的解决方案?
尝试 WrapGrid,它应该可以满足您的要求:http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.wrapgrid.aspx
唯一的问题(这并不是一件坏事)是 WrapGrid 只能显示 ItemsControl 中的项目,因此以这种方式使用它(将 ListView 更改为任何 ItemsControl):
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<WrapGrid Orientation="Horizontal" />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)