我正在使用C#/ XAML中的Windows 8应用程序。提供步骤列表
我有步骤的列表显示和列表中可以有一到多个步骤。
我曾尝试GridView
和ListView
控制,但这些,就不可能使每个元件具有其自身的高度(因为一个步骤可能只有一个文本行,以及下一个3行,例如)。 VariableSizedGridview
也没有帮助。
我想实现的东西像微软Bing食品饮料&应用显示烹饪步骤的方式。因此,步骤显示在第一列中的行中,当到达页面的末尾时,它会创建第二列,依此类推。像这样:
任何人都可以请帮助我找到一种方法来实现这一目标吗?
什么控制使用和如何?
这看起来很简单,但我无法找到任何解决方案,同时在网上搜索。
谢谢
以下是我与Gridview
控制办妥(Listview
颇为相似):
<Grid Name="gridSteps" Grid.Column="3" Margin="25,69,25,69">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock Text="ÉTAPES" FontSize="22" FontWeight="Bold"></TextBlock>
<GridView Grid.Row="1" Name="gvGroupSteps" SelectionMode="None" IsHitTestVisible="False" VerticalAlignment="Top">
<GridView.ItemTemplate>
<DataTemplate>
<StackPanel Width="400">
<TextBlock Text="{Binding Order}" Margin="0,15,0,0" FontSize="20" Foreground="Bisque"></TextBlock>
<TextBlock Text="{Binding Description}" Margin="0,5,0,0" FontSize="18" TextWrapping="Wrap"></TextBlock>
</StackPanel>
</DataTemplate>
</GridView.ItemTemplate>
<GridView.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<StackPanel Background="#FFC9C9C9">
<TextBlock Text="{Binding GroupName}" FontSize="20" FontWeight="SemiBold"></TextBlock>
</StackPanel>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</GridView.GroupStyle>
</GridView>
</Grid>
谢谢你,我会去阅读。我只是添加了一些代码示例。 – vincenormand
“Listview”和“Gridview”的问题是,即使我试图独立设置每个元素的高度,高度也适用于所有项目。因此,如果我的最后一个项目的高度为100,则每个其他项目的高度都会设置为100.我可以使用RowSpan属性,但这并不是我想要的。 至于'Listbox'控件,它在达到最大高度时不允许动态列,所以我不认为我会使用它。 – vincenormand