2011-01-25 6 views
1

特定のイベントで、開始ピンが終了ピンまでジップするように、MapPolyLineをアニメーション化する必要があります。私が考察しているアプローチは、フレームをアニメーション化してMapPolyLineをn個のセグメントに分割し、各フレーム間の時間間隔を、chosingのロジックに沿って減らすことです(単純に、ts = ts/2とそれぞれ言いましょうサイクル)。SilverlightでMapPolyLineをアニメーション化する

私は、MapPolyLineをアニメーション化できないことは知っていますが、最終位置の緯度と経度を更新することによって、線の外観を変更することができます。私の質問はタイミングに関係しています。私のマルチスレッド化の経験はごくわずかなので、ユーザーがスレッドベースのエラーに遭遇して診断するのが難しいリスクを冒すことはしませんでした。 I必要があります。

  • は、単純なDispatcherTimerを使用し、方法
  • レポートはTimeSpanのダミーアニメーションを使用してレンダリングイベント
  • にイベントハンドラをアタッチ
  • を経過するごとに、時間を進めることのBackgroundWorkerを使用するダニ
  • 上記のオプション以外の解決策?

ありがとうございました!

+0

私は現時点で、Mike Snowのこの記事のダミーアニメーションを使用する傾向があると付け加えます。http://bit.ly/fFQGxW – Jordan

答えて

0

ステートと独自のディスパッチタイマーを保持する別個のアニメーションオブジェクトを作成することで、アニメーションがかかる時間を考慮してDispatcherTimerを使用することに決めたため、別のスレッドを使用するより効率的でした。メインのUIスレッドを中断することを意味し、要件に基づいて、これらのアニメーションのうち2-3以上が同時に発生する可能性は非常に低く、95%以上は一度に1つのアニメーションのみでした。