彩色动画不起作用

Cob*_*old 4 .net vb.net silverlight wpf animation

我有一个名为"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()
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

Dre*_*kes 19

值得注意的是,使用表单的表达式可以在XAML中解决相同的问题:

<ColorAnimation Duration="0:0:0.2" From="Black" To="White"
      Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)"
      Storyboard.TargetName="Body" />
Run Code Online (Sandbox Code Playgroud)


And*_*ana 7

背景是Brush类型,无法使用ColorAnimaion进行动画处理.但是,SolidColorBrush具有Color属性,因此您可以执行以下操作:

Storyboard.SetTargetProperty(changeColor, new PropertyPath("Background.Color"));
Run Code Online (Sandbox Code Playgroud)