【发布时间】:2016-01-27 17:24:42
【问题描述】:
如何在网格中创建动态集列或者我应该使用什么网格模拟?
我有一个List,例如List<List<string>> = {{a},{b,c},{d,e},{f,g,h}}
我需要从每个元素中制作一行,并且应该拉伸子元素。如下图所示。因此,如果有一个元素,则占用所有网格宽度,如果有两个子元素,则每个子元素占用网格宽度的一半,依此类推。我从here 那里得到了 xaml
<Page>
<Page.Resources>
<DataTemplate x:Key="DataTemplate_Level2">
<Button Content="{Binding}" Margin="1,1,1,1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/>
</DataTemplate>
<DataTemplate x:Key="DataTemplate_Level1">
<ItemsControl ItemsSource="{Binding}" ItemTemplate="{StaticResource DataTemplate_Level2}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"></StackPanel>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</DataTemplate>
</Page.Resources>
<Grid>
<ItemsControl ItemsSource="{Binding}" x:Name="lst" ItemTemplate="{StaticResource DataTemplate_Level1}"/>
</Grid>
</Page>
但它不能像我需要的那样伸展子元素,像这样:
【问题讨论】:
标签: c# xaml win-universal-app uwp