랩 컨트롤 패널에 여러 개의 usercontrol을 생성하고 있습니다. 뷰 모델이 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