ラップパネルに複数のユーザーコントロールを作成しています。私はusercontrolにバインドされたビューモデルを持っており、ビューモデルのプロパティにトリガされたアニメーションを持っています。非常にシンプルなトグルカラーで赤から透明に変わります。WPFのユーザーコントロール間でアニメーションを同期する方法
<Storyboard x:Key="alertAnimation" RepeatBehavior="Forever" AutoReverse="True" >
<ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)"
Storyboard.TargetName="TileBorder"
BeginTime="00:00:00"
RepeatBehavior="Forever"
AutoReverse="True"
>
<DiscreteColorKeyFrame Value="Red"/>
<DiscreteColorKeyFrame KeyTime="00:00:00.500" Value="Transparent" />
</ColorAnimationUsingKeyFrames>
</Storyboard>
これはうまくいきます。しかし、私は複数のユーザーコントロールを非同期にロードするので、点滅しているアニメーションは同期していないので、それらはすべて異なるタイミングで点滅します。画面上で点滅するものは、すべて同じ速度/時間で点滅する必要があります。これらのアニメーションを同期する方法はありますか?私が達成しようとしているものに合った例はどこにもないようです。 ParallelTimelineを使用し、すべてのアニメーションを追加し、単一のコントローラから開始/停止する方法はありますか?どのようにそこにこれを達成するためにどのような例ですか?
EDIT 4/20 アニメーションがstyle.xamlファイルで定義され、各コントロールが「点滅」アニメーションを追加してメインUIにストーリーボードを開始させる「グローバル」ストーリーボードがある方がよいでしょうか?
なぜコントロールを非同期に読み込む必要がありますか? – Paparazzi
本当に見た目です。私はそれらを同期して読み込んだら、すべてのコントロールがロードされるまでアプリケーションがハングアップしたように見えました。また、すべての初期ユーザーコントロールがロードされると、それが表すデバイスがオンラインになると、いつでも別のユーザーコントロールが表示される可能性があります。私はその事件も解決する必要があると思った。 – mdutra
シンプルなアニメーションのようですが、私はキーフレーム上の離散を試みます。 – Paparazzi