2012-04-20 72 views
1

我看到Metro风格应用程序,我意识到,在一个的CollectionView的第一个元素的XAML风格有从anothers不同的风格。如何将特定样式设置为XAML中CollectionView中的第一个元素?

检查这个例子。

enter image description here

我只是一个知道如何设置不同的样式在XAML的第一个元素?我在想,我是否需要实现转换器来做到这一点?或者创建模板?

+0

我不t相信使用默认的'GroupedItemsPage'模板中的'VariableSizeWrapGrid'(注意最后的'see more'项目)。恕我直言,它只是一个RowSpan/ColumnSpan为第一项的网格。 – 2012-04-20 03:20:26

+0

哦,我明白了,一个怀疑里奇。那么,我怎样才能在网格中建立其余的项目呢? – 2012-04-20 03:40:52

+0

相信网格是一个固定的大小,但你可以只添加一个'VariableSizeWrapGrid'与列跨度和正确数量的行跨度。您的模型代码必须提供对集合的正确过滤才能使其正常工作。无论哪种方式,我怀疑这是一个股票模板。 – 2012-04-20 03:43:10

回答

1

我认为你可以做这样的事情作为绑定到公开数据绑定各种属性的自定义对象的模板(或的ViewModels,无论花车您的WinRT船)

enter image description here

<ScrollViewer> 
    <Grid Background="{StaticResource ApplicationPageBackgroundBrush}"> 
     <Grid.RowDefinitions> 
      <RowDefinition/> 
      <RowDefinition/> 
      <RowDefinition/> 
      <RowDefinition/> 
     </Grid.RowDefinitions> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition/> 
      <ColumnDefinition/> 
      <ColumnDefinition/> 
      <ColumnDefinition/> 
      <ColumnDefinition/> 
      <ColumnDefinition/> 
     </Grid.ColumnDefinitions> 

     <TextBlock Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" Grid.RowSpan="3" Text="First" FontSize="288"/> 
     <TextBlock Grid.Row="3" Grid.Column="0" Text="Second" FontSize="70"/> 
     <TextBlock Grid.Row="3" Grid.Column="1" Text="Third" FontSize="70"/> 
     <TextBlock Grid.Row="3" Grid.Column="2" Text="Fourth" FontSize="70"/> 
     <TextBlock Grid.Row="0" Grid.Column="3" Text="Blah" FontSize="70"/> 
     <TextBlock Grid.Row="1" Grid.Column="3" Text="Blah" FontSize="70"/> 
     <TextBlock Grid.Row="2" Grid.Column="3" Text="Blah" FontSize="70"/> 
     <TextBlock Grid.Row="3" Grid.Column="3" Text="Blah" FontSize="70"/> 
     <TextBlock Grid.Row="0" Grid.Column="4" Text="Blah" FontSize="70"/> 
     <TextBlock Grid.Row="1" Grid.Column="4" Text="Blah" FontSize="70"/> 
     <TextBlock Grid.Row="2" Grid.Column="4" Text="Blah" FontSize="70"/> 
     <TextBlock Grid.Row="3" Grid.Column="4"> 
       <Run FontSize="70">Moar</Run> 
       <LineBreak/> 
       <Run FontSize="20">Ommm nom nom</Run> 
       <LineBreak/> 
       <Run FontSize="10">blah blah blah</Run> 
     </TextBlock> 
    </Grid> 
</ScrollViewer> 
相关问题