C# 如何设置MapPolygon(BingMap MapControl)UWP的FillColor动画
我想在MapPolygon的FillColor属性上使用ColorAnimation。 我用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
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中创建的故事板,但忘了更改它。