如何将特定样式设置为XAML中CollectionView中的第一个元素?

时间:2012-04-20 03:11:37

标签: c# xaml windows-8 microsoft-metro

我看到了Metro风格的应用程序,我意识到CollectionView的第一个元素中的XAML风格与其他风格的风格不同。

检查此示例。

enter image description here

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

1 个答案:

答案 0 :(得分: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>