Windows应用商店 - 动态样式

时间:2012-11-23 13:56:14

标签: xaml windows-8 windows-store-apps styling

我正在创建一个Windows应用程序,当前加载一个简单的类(加载5个项目)。

我使用简单的网格加载项目,然后设置一些样式;

代码段;

<Grid  Background="{StaticResource ApplicationPageBackgroundThemeBrush}" Margin="261,111,10,302">
        <ListView ItemsSource="{Binding}" Name="lstMatters" SelectionMode="Multiple">
            <ItemsControl.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal" Tapped="spMatter_Tapped" >
                        <Image Source="{StaticResource MatterImage}"></Image>
                        <GridView ItemContainerStyle="{StaticResource GridViewItemStyle1}" SelectionMode="None">
                            <GridView.ItemsPanel>
                                <ItemsPanelTemplate>
                                    <VirtualizingStackPanel Orientation="Horizontal" IsHitTestVisible="False"/>
                                </ItemsPanelTemplate>
                            </GridView.ItemsPanel>
                            <GridViewItem Margin="3" Style="{StaticResource gridViewHeader}" Content="FileRef: " FontSize="20"></GridViewItem>
                            <GridViewItem Margin="3" Content="{Binding Path=FileRef}" FontSize="20"></GridViewItem>
                            <GridViewItem Margin="3" Style="{StaticResource gridViewHeader}" Content="Description: " FontSize="20"></GridViewItem>
                            <GridViewItem Margin="3" Content="{Binding Path=Description}" FontSize="20"></GridViewItem>
                            <GridViewItem Margin="3" Style="{StaticResource gridViewHeader}" Content="DocumentSet: " FontSize="20"></GridViewItem>
                            <GridViewItem Margin="3" Content="{Binding Path=DocumentSet}" FontSize="20"></GridViewItem>
                            <GridViewItem Margin="3" Style="{StaticResource gridViewHeader}" Content="MatterType: " FontSize="20"></GridViewItem>
                            <GridViewItem Margin="3" Content="{Binding Path=MatterType}" FontSize="20"></GridViewItem>
                        </GridView>
                    </StackPanel>
                </DataTemplate>
            </ItemsControl.ItemTemplate>
        </ListView>
    </Grid>

我正在尝试创建一个“动态”样式,当DocumentSet列加载并显示在网格中时,代码将执行一种“switch”语句并根据DocumentSet使用特定样式。 (即根据DocumentSet的值更改gridViewItem的样式。

Switch DocumentSet
Case "a"
 style = style.a
Case "b"
 style = style.b)

希望有意义吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

试试Jerry Nixon的这段视频。它基本上是为了展示如何实现插页式广告,但您可以使用ListView.ItemTemplateSelector来使用相同的概念。

http://youtu.be/kTBdCgVVjug

阿伦