1

MapPolygon の FillColor プロパティで ColorAnimation を使用したいと考えています。

BingMapControl for UWP Heatmap Previewでヒートマップを作成しました

関数を取得しました。ここでFillColor、それぞれの新しいを計算しますMapPolygon。を古い値から新しい値にColorAnimation変更するだけでなく、a を使用したいと思います。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と、アニメーション ターゲットが指定されていないことを示すメッセージが常に表示されます。

の2番目のパラメーターに多くの値を試しましたStoryboard.SetTargetproperty...何も機能しませんでした。

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

4

1 に答える 1

2

2 つの問題があります。

投稿したコード スニペットでは、変数の代わりにmyStoryboardin を使用しています。解決するように見える修正。ただし、ポリゴンの色はまだアニメーション化されません。SetTargetstoryboardCOMException

その理由は、FillColorプロパティがDependencyProperty. このプロパティのアニメーションを有効にするには、 を開始する前に、アニメーションで依存アニメーションを有効にする必要がありますStoryboard

animation.EnableDependentAnimation = true;

従属アニメーションと独立アニメーションの違いについては、MSDN のドキュメント で説明されています。このアニメーションのパフォーマンスは、独立したアニメーションよりも少し悪いことに注意してください。

于 2016-11-29T19:42:41.247 に答える