Comment Changer de Pivot Modèle d'en-Tête dans Windows Phone 8
Je voudrais être en mesure de changer le fond du Pivot en-Têtes et de Titre de l'Application dans Windows Phone 8. De ce que je comprends, je dois créer un style personnalisé ciblant le contrôle de Pivot. Je ne suis pas sûr, toutefois, de changer l'arrière-plan des en-têtes seulement?
Je voudrais ajuster le style en quelque sorte
<Style x:Key="MyPivotStyle" TargetType="phone:Pivot">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="phone:Pivot">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid CacheMode="BitmapCache" Grid.RowSpan="2">
<Grid.Background>
<ImageBrush ImageSource="/Assets/bg_header.png"/>
</Grid.Background>
</Grid>
<Grid Background="{TemplateBinding Background}" CacheMode="BitmapCache" Grid.Row="2" />
<ContentPresenter ContentTemplate="{TemplateBinding TitleTemplate}" Margin="24,17,0,-7">
<StackPanel Orientation="Horizontal">
<Image Source="/Assets/company_name.png" Width="213.75" HorizontalAlignment="Left" VerticalAlignment="Top" />
<Button HorizontalAlignment="Right" VerticalAlignment="Top" Margin="140,-20,0,35" BorderThickness="0" x:Name="btnHome">
<Image Source="/Assets/btnHome.png" Width="48" Height="48" ></Image>
</Button>
</StackPanel>
</ContentPresenter>
<controlsPrimitives:PivotHeadersControl x:Name="HeadersListElement" Foreground="White" Grid.Row="1"/>
<ItemsPresenter x:Name="PivotItemPresenter" Margin="{TemplateBinding Padding}" Grid.Row="2"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
Je dirais cette solution à partir de 2012, mais il semble que l'Iris a couvert
OriginalL'auteur Matthew | 2013-07-27
Vous devez vous connecter pour publier un commentaire.
ÉDITÉ pour WinRT (désolé pour le retard et merci pour le rappel de mise à jour de cette réponse):
Pour modifier un modèle complet cliquez-droit sur le contrôle lorsqu'dans la structure du Document et sélectionnez Modifier le Modèle Actuel (dans Visual Studio ou en Mélange) et le modèle sera généré pour vous et vous pouvez le modifier comme vous le souhaitez, voir ma réponse ici pour les captures d'écran.
Voici les deux exemples ci-dessous (publié en 2013) refaite pour Windows Phone Windows Runtime:
Et deuxième exemple, nous intégrons la ContentPresenter dans une Grille (vous pouvez utiliser une frontière ou tout autre élément):
En utilisant le style précédent:
Par ailleurs, il est généralement préférable de garder les styles dans un autre fichier de style - je n'ai gardé que sur la même page pour plus de simplicité pour cet exemple. Si vous supprimez le x:attribut clé le style sera appliqué à tous les contrôles de l'défini le type de cible (Pivot dans cet exemple).
Réponse à partir de 2013 pour Windows Phone 7.X et Windows Phone 8 (WP Silverlight:
Il existe quelques façons dont vous pouvez faire, mais en voici un exemple:
Si vous souhaitez faire:
Vous pouvez ce faire, retirez le x:clé à s'appliquer à tous les pivoits, ou utilisez la touche pour définir le style sélectionné pivoit éléments comme:
N'oubliez pas d'utiliser:
Regardez l'image et le code que j'ai ajouté à la poste, est-il quelque chose comme ça que vous voulez atteindre?
Oui, c'est ce que je suis en train d'accomplir. J'ai mis le style bien que vous utilisez
Controls:Pivot
je crois que c'est pour WP7 et je suis en utilisantphone:Pivot
pour WP8. Cela amène à ma prochaine question, j'ai une erreur sur la déclarationcontrolsPrimitives:PivotHeadersControl
.C'est la même xaml, mais pour préciser, j'ai ajouté les espaces de noms dont vous avez besoin. téléphone: Contrôles: sont des alias, vous pouvez les configurer pour tout ce que vous voulez. C'est juste un moyen d'avoir un court chemin pour faire référence à un espace de noms. Pour une lecture longue: msdn.microsoft.com/en-us/library/aa468565.aspx
Excellent. Avec un peu de peaufinage, je suis sûr que je peux obtenir ce dont j'ai Besoin. L'amour de la rose de cheveux.
OriginalL'auteur Iris Classon