我有一个名为“b”的按钮,我想将背景从黑色变为白色,但它不起作用。
错误:
'System.Windows.Media.Animation.ColorAnimation'动画对象不能用于动画属性'Background',因为它是不兼容的类型'System.Windows.Media.Brush'。
我的代码:
Dim changeColor As New Animation.ColorAnimation
changeColor.From = Colors.Black
changeColor.To = Colors.White
changeColor.Duration = TimeSpan.FromSeconds(0.2)
Animation.Storyboard.SetTarget(changeColor, b)
Animation.Storyboard.SetTargetProperty(changeColor, New PropertyPath(BackgroundProperty))
Dim sb As New Animation.Storyboard
sb.Children.Add(changeColor)
sb.Begin()
有任何想法吗?
答案 0 :(得分:19)
值得注意的是,使用表单形式的表达式可以在XAML中解决同样的问题:
<ColorAnimation Duration="0:0:0.2" From="Black" To="White"
Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)"
Storyboard.TargetName="Body" />
答案 1 :(得分:7)
背景是Brush类型,无法使用ColorAnimaion进行动画处理。但是,SolidColorBrush具有Color属性,因此您可以执行以下操作:
Storyboard.SetTargetProperty(changeColor, new PropertyPath("Background.Color"));