Nous souhaitons styliser un bouton wpf afin que le contenu défini dans le bouton s'affiche deux fois. La raison en est que nous voulons obtenir un effet d'ombre portée du contenu du bouton. Sur la pensée était d'avoir deux ContentControls dans le style de bouton comme ci-dessous:Afficher deux fois le même contenu dans le bouton WPF
<ContentControl x:Name="ContentControl" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
<ContentControl Content="{TemplateBinding Content}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Foreground="White" Margin="0,1,0,0" />
Ainsi, un ContentControl est pour afficher le contenu réel et un ContentControl est d'afficher le même contenu avec un peu de marge pour qu'il donne l'effet d'être l'ombre portée. Le problème est qu'il n'affiche pas de contenu dans les deux contrôles de contenu. Un seul d'entre eux montre du contenu. Comment puis-je afficher le contenu avec succès dans les deux contrôles de contenu?
De plus, l'effet dropshadow n'est pas une option puisque le contenu du bouton devient flou.
Merci pour votre aide!
Le deuxième ContentControl n'a pas une fixation ContentTemplate, et vous devez toujours lier aussi le ContentTemplateSelector, croyez-moi, cela vous fera économiser beaucoup de chasse aux bugs ennuyeux. En outre, vous devriez lire sur ContentPresenter et son utilisation dans ContentControls. – dowhilefor
Merci pour la réponse. Je sais qu'il existe des différences dans l'utilisation de ContentPresenter et de ContentControl dans les modèles. La raison pour laquelle j'utilise contentControl ici est de pouvoir définir la propriété Foreground de contentControl. De cette façon, je peux contrôler le premier plan en fonction de VisualState (bouton pressé, etc.). Le ContentPresenter n'a pas de propriété de premier plan. Le ContentTemplate ne fait aucune différence et l'utilisation de 2 ContentPresenters n'aide pas non plus. – exkoria