WPF XAML动画属性路径不起作用

我正在尝试制作地铁风格按钮的内容动画。 我的问题是,按钮的内容不会改变颜色。 前景色不会改变。

这是我的按钮样式:

    

这是我如何使用它。 这不起作用:

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

这工作:

                        <button Style="{StaticResource MetroButtonStyle}"
                                Tag="Blah"
                                Content="XXX"/>
0
额外 编辑
意见: 1
将TargetProperty更改为Storyboard.TargetProperty =“(TextBlock.Foreground)。(SolidColo&zwnj; rBrush.Color)”不会更改任何内容。它甚至可以工作吗?
额外 作者 SiriusNik,
TextBlock不是一个控件。 TextBlock是一个FrameworkElement。这就是为什么动画化Control.Foreground属性不起作用的原因。
额外 作者 roberther,
此处是一个类似的问题
额外 作者 roberther,

1 答案

你有

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

在您的动画中, EllipseInnerContent 是 ContentPresenter ,并且ContentPresenter 上没有 Foreground 属性。

将其更改为 ContentControl

另外,当将 TextBlock 作为控件的内容时,它将继承它所属的页面\用户控件的前景。使用 DataTemplate 代替为您创建 TextBlock ,然后它将继承按钮的前景。

0
额外