C# 如何设置MapPolygon(BingMap MapControl)UWP的FillColor动画

C# 如何设置MapPolygon(BingMap MapControl)UWP的FillColor动画,c#,uwp,bing-maps,uwp-maps,C#,Uwp,Bing Maps,Uwp Maps,我想在MapPolygon的FillColor属性上使用ColorAnimation。 我用BingMap控件为UWP创建了一个热图 我得到了一个函数,其中我为每个MapPolygon计算一个新的FillColor。我现在想使用ColorAnimation,而不是将FillColor从旧值更改为新值 //Instead of statePolygon.FillColor = backGroundColor; //I want to use something like the follow

我想在MapPolygon的FillColor属性上使用ColorAnimation。

我用
BingMap
控件为UWP创建了一个热图

我得到了一个函数,其中我为每个
MapPolygon
计算一个新的
FillColor
。我现在想使用
ColorAnimation
,而不是将
FillColor
从旧值更改为新值

//Instead of 
statePolygon.FillColor = backGroundColor;

//I want to use something like the following
Storyboard storyboard = new Storyboard();
ColorAnimation animation = new ColorAnimation();
animation.From = statePolygon.FillColor;
animation.To = newBackGroundColor;
animation.Duration = new Duration(new TimeSpan(0, 0, 0, 5));
storyboard.Children.Add(animation);
Storyboard.SetTargetProperty(animation, "(MapPolygon.FillColor)");
Storyboard.SetTarget(myStoryboard, statePolygon);
storyboard.Begin();
但是对于故事板代码,我总是得到一个
System.Runtime.InteropServices.COMException
,它告诉我没有指定动画目标

我为
故事板.SetTargetproperty
的第二个参数尝试了很多值。。。什么都没用

我遗漏了什么?

有两个问题

在您发布的代码片段中,您使用的是
SetTarget
中的
myStoryboard
而不是
storyboard
变量。修复似乎可以解决
COMException
。但是多边形颜色仍然不会设置动画

原因是
FillColor
属性不是
dependencProperty
。要启用此属性的动画,必须在启动<代码>情节提要之前启用动画的从属动画:

animation.EnableDependentAnimation = true;
从属动画和独立动画之间的区别是。请注意,此动画的性能可能比独立动画稍差。

thx alot:)它现在可以工作了。SetTarget中的myStoryboard是我在xaml中创建的故事板,但忘了更改它。