【问题标题】:How to change number of columns in GridView layout如何更改 GridView 布局中的列数
【发布时间】:2014-09-17 23:51:37
【问题描述】:

我的 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

【问题讨论】:

  • 尝试删除TextBlock的边距?

标签: xaml windows-runtime


【解决方案1】:

第一件事,当我看到硬设置的 TabIndex 和疯狂的 Padding 的东西时,我立即认为有人有一个草率的布局和一个模糊的 DOM,但这只是一个评论。

不过,对于您的问题,您只需要通过指定适合您需要的 ItemsPanel 来指示它如何布局其子项。

因此,类似这样的内容将与您现有的 ItemTemplate 一起添加到其中;

<GridView.ItemsPanel>
   <ItemsPanelTemplate>
       <StackPanel Orientation="Horizontal"/>
   </ItemsPanelTemplate>
</GridView.ItemsPanel>

希望这会有所帮助,干杯!

【讨论】:

  • “TabIndex's and crazy Padding's”取自默认 VisualStudio 模板。
  • 但是这个解决方案有帮助
  • 啊,别担心,永远不要相信默认设置,哈哈,但很高兴你找到了补救措施 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多