如何使Mappolygon(Bingmap MapControl)UWP的填充填充物动画



我想在mappolygon的填充属性上使用coloranimation。

我使用UWP的BingMap控件创建了一个热图热图预览

我有一个函数,在其中为每个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,它告诉我未指定动画目标。

我为Storyboard.SetTargetproperty的第二个参数尝试了很多值...

我缺少什么?

有两个问题。

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

原因是FillColor属性不是DependencyProperty。要启用此属性的动画,您必须在开始Storyboard之前启用动画的依赖动画:

animation.EnableDependentAnimation = true;

MSDN文档中描述了依赖和独立动画之间的差异。请注意,此动画的性能可能比独立动画差一些。

相关内容

  • 没有找到相关文章

最新更新