2012-11-23 37 views
1

我正在創建一個當前加載簡單類(加載5個項目)的Windows應用商店應用程序。Windows Store - 動態樣式

我使用一個簡單的網格來加載項目,然後設置一些樣式;

code snippet;

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

我想在SENCE,當DocumentSet列加載和顯示在網格中,代碼會做一種類型的「開關」的聲明,並根據到DocumentSet創建一個「動態」的風格,使用特殊風格。 (即取決於DocumentSet的值更改gridViewItem的風格。

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

希望這是有道理的?

在此先感謝。

回答

0

試試這個視頻傑裏·尼克松。它基本上是展示如何實施插頁式廣告,但你可以通過使用ListView.ItemTemplateSelector使用相同的概念。

http://youtu.be/kTBdCgVVjug

Arun

+0

看起來是我在找的東西,謝謝阿倫 – Hexie