2012-06-11 39 views
6

Ho riscontrato un problema nella comprensione di una definizione di stile nelle app Metro 8 di Windows.Dove si trova "ListViewItemPlaceholderBackgroundThemeBrush"?

Quando si crea un'applicazione stile metropolitana con VS, v'è anche una cartella denominata

comune

creato. All'interno di questa cartella c'è un file chiamato

StandardStyles.xaml

Ora il seguente frammento è da questo file:

<!-- Grid-appropriate 250 pixel square item template as seen in the GroupedItemsPage and ItemsPage --> 
<DataTemplate x:Key="Standard250x250ItemTemplate"> 
    <Grid HorizontalAlignment="Left" Width="250" Height="250"> 
     <Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}"> 
      <Image Source="{Binding Image}" Stretch="UniformToFill"/> 
     </Border> 
     <StackPanel VerticalAlignment="Bottom" Background="{StaticResource ListViewItemOverlayBackgroundThemeBrush}"> 
      <TextBlock Text="{Binding Title}" Foreground="{StaticResource ListViewItemOverlayForegroundThemeBrush}" Style="{StaticResource TitleTextStyle}" Height="60" Margin="15,0,15,0"/> 
      <TextBlock Text="{Binding Subtitle}" Foreground="{StaticResource ListViewItemOverlaySecondaryForegroundThemeBrush}" Style="{StaticResource CaptionTextStyle}" TextWrapping="NoWrap" Margin="15,0,15,10"/> 
     </StackPanel> 
    </Grid> 
</DataTemplate> 

Quello che non capisco qui è la definizione della risorsa statica, per esempio for the Border

Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" 

Non si tratta di come si lavora con i modelli e vincolanti e risorse.

Dove si trova questo ListViewItemPlaceholderBackgroundThemeBrush ubicato?

Molte grazie per il vostro aiuto.

Dimi

risposta

5

Questa è una di quelle cose incredibilmente frustrante che dovrebbero essere nella documentazione di Microsoft, ma non è (ancora).

ListViewItemPlaceholderBackgroundThemeBrush è una delle risorse del pennello di sistema. È definito dal tema Metro "Light" o "Dark" (a seconda di quale hai selezionato per la tua app).

È possibile visualizzare l'elenco completo dei pennelli di sistema in Blend. (Sfortunatamente, non ho trovato alcun modo per enumerarli nel codice. Sembra che non ci sia alcun modo programmatico per ispezionare le risorse del tema.)

Ecco alcuni passaggi che ti porteranno alla lista completa. (Naturalmente puoi abbreviare i passaggi se hai già familiarità con Blend.)

  1. Open Expression Blend.
  2. Creare un nuovo progetto e selezionare XAML (stile Windows Metro)> App vuota (XAML) e fare clic su OK.
  3. Fare clic nella superficie di progettazione per selezionare la griglia. (Nella finestra ancorata "Oggetti e sequenza temporale" in basso a sinistra, la linea "[Griglia]" verrà evidenziata.)
  4. Nella finestra ancorata Proprietà in alto a destra, trova la categoria "Pennello".
  5. Proprio sotto la scritta "Sfondo: nessun pennello", c'è una fila di cinque pulsanti. Fare clic sul pulsante più a destra ("Risorse pennello").

L'elenco delle risorse del pennello di sistema verrà visualizzato nella casella di riepilogo.

enter image description here

7

In Windows anteprima 8 cliente è possibile trovare il file che contiene la definizione delle risorse (compresi ListViewItemPlaceholderBackgroundThemeBrush) a:

C: \ Program Files (x86) \ Windows Kits \ 8.0 \ include \ winrt \ xaml \ design \ themeresources.xaml