我的Metro应用程序具有以下布局:
<!-- Horizontal scrolling grid -->
<GridView
x:Name="itemGridView"
AutomationProperties.AutomationId="ItemsGridView"
AutomationProperties.Name="Items"
TabIndex="1"
Padding="116,136,116,46"
ItemsSource="{Binding Source={StaticResource MyMenu}}"
SelectionMode="None"
IsSwipeEnabled="false"
IsItemClickEnabled="True"
ItemClick="ItemView_ItemClick" FontSize="12" FontStyle="Italic" HorizontalAlignment="Left" >
<GridView.ItemTemplate>
<DataTemplate >
<Grid HorizontalAlignment="Left" Width="250" Height="250" Background="Transparent">
<Image Source="{Binding Image}" Stretch="UniformToFill" AutomationProperties.Name="{Binding Title}" />
<StackPanel VerticalAlignment="Bottom" Background="Transparent" >
<TextBlock Text="{Binding Description}" Foreground="{StaticResource ListViewItemOverlaySecondaryForegroundThemeBrush}"
Style="{StaticResource GroupHeaderTextStyle}" Margin="15,0,15,10" FontSize="20" TextAlignment="Center"/>
</StackPanel>
</Grid>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
</Grid>
事情是这个网格中的项目现在显示如下:
X X
X
虽然我希望他们看起来像这样
X X X
答案 0 :(得分:1)
首先,当我看到困难的TabIndex和疯狂的填充物时,我立即认为某些人有一个草率的布局和混淆的DOM,但这只是一个评论。
但是,对于您的问题,您只需指定适合您需要的ItemsPanel
来指导您如何布置其子项目。
所以更像这样的内容会与现有的ItemTemplate
;
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</GridView.ItemsPanel>
希望这有帮助,欢呼!