2016-11-29 2 views
0

MapPolygonのFillColorプロパティでColorAnimationを使用したいと思います。MapPolygon(BingMap MapControl)のFillColorをアニメーション化する方法UWP

は、私は私が各MapPolygonのための新しいFillColorを計算する機能を持っUWP Heatmap Preview

ためBingMapコントロールとのヒートマップを作成しました。 FillColorを古い値から新しい値に変更するのではなく、ColorAnimationを使用したいと考えています。

//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の2番目のパラメータに多くの値を試しました...何も働かなかった。

私には何が欠けていますか?

答えて

1

2つの問題があります。

投稿したコードスニペットでは、storyboard変数の代わりにmyStoryboardSetTargetに使用しています。修正するとCOMExceptionが解決されるようです。しかしポリゴンの色はまだアニメートされません。

FillColorプロパティはDependencyPropertyではないためです。このプロパティのアニメーションを有効にするには、Storyboardを開始する前に、あなたのアニメーションに依存してアニメーションを有効にする必要があります。

animation.EnableDependentAnimation = true; 

依存と独立したアニメーションとの違いはdescribed in MSDN documentationです。このアニメーションのパフォーマンスは、独立したアニメーションの場合よりも少し悪い可能性があることに注意してください。

+0

thx alot :)それは今働いた。 SetTargetのmyStoryboardはxamlで作成したストーリーボードで、変更するのを忘れてしまった。 – David198

関連する問題