我正在尝试为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}" />
对于我的生活,我无法发现原因。
答案 0 :(得分:6)
您需要在Background
上明确设置ContentControl
属性以使动画生效。
你需要这个,因为Background
属性的default value是null
所以当动画解析表达式(ContentControl.Background).(SolidColorBrush.Color)
时,它无法访问Color
属性null
。
它适用于Foreground
,因为default of value Foreground
属性是黑色画笔,因此默认设置为有效的非空值。