Le chemin de la propriété d'animation XAML WPF ne fonctionne pas

J'essaie d'animer le contenu d'un bouton de style métro. Mon problème est que le contenu du bouton ne change pas de couleur. La couleur de premier plan ne change pas.

Voici le style de mon bouton:

    

Voici comment je l'utilise. Cela ne fonctionne pas:

                        <button Style="{StaticResource MetroButtonStyle}"
                                Tag="Blah">
                            
                        </button>

Cela marche:

                        <button Style="{StaticResource MetroButtonStyle}"
                                Tag="Blah"
                                Content="XXX"/>
0
Changer TargetProperty à Storyboard.TargetProperty = "(TextBlock.Foreground). (SolidColo & zwnj; rBrush.Color)" ne change rien. Peut-il même fonctionner du tout?
ajouté l'auteur SiriusNik, source
TextBlock n'est pas un contrôle. TextBlock est un FrameworkElement. C'est la raison pour laquelle l'animation de la propriété Control.Foreground ne fonctionne pas.
ajouté l'auteur roberther, source
ici est une question similaire
ajouté l'auteur roberther, source

1 Réponses

Tu as

Storyboard.TargetProperty="(Control.Foreground).(SolidColorBrush.Color)"
Storyboard.TargetName="EllipseInnerContent"

dans vos animations, où EllipseInnerContent est un ContentPresenter et qu'il n'y a pas de propriété Foreground sur ContentPresenter .

Changez-le en ContentControl .

De même, en plaçant un TextBlock comme contenu d'un contrôle, il héritera du premier plan du contrôle page \ user dont il fait partie. Utilisez à la place DataTemplate pour que le TextBlock soit créé pour vous, puis il héritera du premier plan à partir du bouton.

0
ajouté