2014-04-11 17 views
5

Sto cercando di essere in grado di modificare il modello di pivot predefinito per modificare le dimensioni delle intestazioni degli elementi di pivot. Come potrei fare questo con il seguente stileCome modificare la dimensione dell'intestazione dell'elemento pivot nel modello

<Style x:Key="PivotStyle" TargetType="phone:Pivot"> 
     <Setter Property="Margin" Value="0"/> 
     <Setter Property="Padding" Value="0"/> 
     <Setter Property="Foreground" Value="{StaticResource PhoneForegroundBrush}"/> 
     <Setter Property="Background" Value="Transparent"/> 
     <Setter Property="ItemsPanel"> 
      <Setter.Value> 
       <ItemsPanelTemplate> 
        <Grid/> 
       </ItemsPanelTemplate> 
      </Setter.Value> 
     </Setter> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="phone:Pivot"> 
        <Grid HorizontalAlignment="{TemplateBinding HorizontalAlignment}" 
          VerticalAlignment="{TemplateBinding VerticalAlignment}"> 
         <Grid.RowDefinitions> 
          <RowDefinition Height="Auto"/> 
          <RowDefinition Height="Auto"/> 
          <RowDefinition Height="*"/> 
         </Grid.RowDefinitions> 
         <Grid CacheMode="BitmapCache" Grid.RowSpan="2" > 
          <Grid.Background> 
           <LinearGradientBrush StartPoint="0,0" EndPoint="0,1"> 
            <GradientStop Color="Transparent" Offset="0.0" /> 
            <GradientStop Color="Transparent" Offset="1.0" /> 
           </LinearGradientBrush> 
          </Grid.Background> 
         </Grid> 
         <Grid Background="{TemplateBinding Background}" CacheMode="BitmapCache" Grid.Row="2" /> 
         <ContentPresenter ContentTemplate="{TemplateBinding TitleTemplate}" Content="{TemplateBinding Title}" Margin="24,17,0,-7" /> 
         <Primitives:PivotHeadersControl x:Name="HeadersListElement" Foreground="{StaticResource PhoneForegroundBrush}" FontSize="28" Grid.Row="1"/> 
         <ItemsPresenter x:Name="PivotItemPresenter" Margin="{TemplateBinding Padding}" Grid.Row="2"/> 
        </Grid> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 

Sto cercando di ottenere questo a mimare il seguente

enter image description here

+0

Cosa intendi modificando le dimensioni delle intestazioni? ''? – Romasz

+0

Aggiornamento della dimensione del carattere su non ha avuto alcun effetto. Modificato su FontSize = "18" per il test. – Matthew

risposta

10

Si può sicuramente cambiare la vostra di Pivot Header font-size, la famiglia e così via modificando HeaderTemplate:

<phone:Pivot Title="PivotTest" Style="{StaticResource PivotStyle}"> 
    <phone:Pivot.HeaderTemplate> 
     <DataTemplate> 
      <TextBlock Text="{Binding}" FontSize="10"/> 
     </DataTemplate> 
    </phone:Pivot.HeaderTemplate> 
    <phone:PivotItem Header="One"> 
      // item 1 
    </phone:PivotItem> 
    <phone:PivotItem Header="Two"> 
      // item 2 
    </phone:PivotItem> 
</phone:Pivot> 

EDIT - all'interno di uno stile:

<phone:PhoneApplicationPage.Resources> 
    <DataTemplate x:Key="myHeader"> 
     <TextBlock Text="{Binding}" FontSize="10"/> 
    </DataTemplate> 

    <Style x:Key="PivotStyle" TargetType="phone:Pivot"> 
     <Setter Property="HeaderTemplate" Value="{StaticResource myHeader}"/> 
     <Setter Property="Margin" Value="0"/> 
     .... 
+0

Grazie, ci provo. Il mio obiettivo finale era però quello di creare uno stile in modo da poterlo applicare a tutti gli articoli pivot in modo uniforme nella mia app e quindi modificare lo stile quando necessario. – Matthew

+0

@Matthew Questo non è un problema (vedi modifica) - puoi definire il tuo DataTemplate e impostarlo con un setter nello stile di Pivot. – Romasz

Problemi correlati