2014-09-17 5 views
1

У меня есть приложение Metro со следующей планировкой:Как изменить количество столбцов в GridView макете

<!-- 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> 

Вещь, что элементы в этой сетке теперь показывает, как это:
XX
X
пока я хотят, чтобы они выглядели как этот
XXX

+0

Попробуйте удалить поле «TextBlock»? – Kulasangar

ответ

1

Первая вещь, когда я вижу, трудно установить TabIndex-х и сумасшедшие Заполнения на вещи я сразу думаю, что кому-то есть неаккуратно расположение и о bfuscated DOM, но это всего лишь комментарий.

Для вашего вопроса, вам просто нужно научить его, как вы хотите расставить свои дочерние элементы, указав ItemsPanel, который соответствует вашим потребностям.

Так что к этому добавится что-то более похожее с вашим существующим ItemTemplate;

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

Надеюсь, это поможет, ура!

+0

«TabIndex's and crazy Padding» был взят из шаблона VisualStudio по умолчанию. – Jalle

+0

, но это решение помогает – Jalle

+0

Ах, не беспокойтесь, никогда не доверяйте умолчанию lol, но рад, что нашел свое лекарство :) –

Смежные вопросы