我将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
http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.wrapgrid.aspx
唯一的catch(这不是坏事)是WrapGrid只能在ItemsControl中显示项目,因此以这种方式使用它(将ListView更改为任何ItemsControl):
<ListView.ItemsPanel> <ItemsPanelTemplate> <WrapGrid Orientation="Horizontal" /> </ItemsPanelTemplate> </ListView.ItemsPanel>