无法为ContentControl背景颜色设置动画,但可以使用Foreground

时间:2013-05-12 20:18:52

标签: .net silverlight windows-phone-7 xaml animation

我正在尝试为Windows Phone 8中的列表框的选择更改设置动画。以下动画有效:

<ColorAnimation Storyboard.TargetProperty="(ContentControl.Foreground).(SolidColorBrush.Color)" Duration="00:00:00.25" From="{StaticResource PhoneForegroundColor}" To="{StaticResource PhoneAccentColor}" />

但是下一个不起作用(System.InvalidOperationException:无法解析指定对象上的TargetProperty(ContentControl.Background)。(SolidColorBrush.Color)。

<ColorAnimation Storyboard.TargetProperty="(ContentControl.Background).(SolidColorBrush.Color)" Duration="00:00:00.25" From="{StaticResource PhoneForegroundColor}" To="{StaticResource PhoneAccentColor}" />

对于我的生活,我无法发现原因。

1 个答案:

答案 0 :(得分:6)

您需要在Background上明确设置ContentControl属性以使动画生效。

你需要这个,因为Background属性的default valuenull所以当动画解析表达式(ContentControl.Background).(SolidColorBrush.Color)时,它无法访问Color属性null

它适用于Foreground,因为default of value Foreground属性是黑色画笔,因此默认设置为有效的非空值。