<DataTemplate>
<StackPanel Name="stack" Background="PaleTurquoise">
<Grid>
<Slider Name="sld" Value="{Binding TimeLeft}" />
</Grid>
</StackPanel>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding ElementName=sld, Path=Value}" Value="0">
<DataTrigger.EnterActions>
<BeginStoryboard Name="flash">
<Storyboard TargetName="stack" Storyboard.TargetProperty="Background.(SolidColorBrush.Color)">
<ColorAnimation From="MediumSpringGreen" To="Crimson" Duration="0:0:0.1" AutoReverse="True" RepeatBehavior="0:0:5"/>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<RemoveStoryboard BeginStoryboardName="flash"/>
</DataTrigger.ExitActions>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
이것은 알람 응용 프로그램 내의 xaml의 축소 버전입니다. 슬라이더의 값이 0이되면, 슬라이더가 포함 된 StackPanel의 배경을 움직이는 ColorAnimation이 트리거됩니다.DataTrigger 내에서 ColorAnimation이 끝난 후에 이전 색으로 되돌리려면 어떻게해야합니까?
그러나 깜박임이 끝나면 배경색을 이전 값 (PaleTurquoise)으로 되돌리려합니다. xaml에서 어떻게이 작업을 수행합니까?
또 다른 질문으로, 초기화시 내 ViewModel의 TimeLeft가 0 임에도 불구하고 응용 프로그램이 처음로드 될 때 DataTrigger가 실행되지 않도록하려면 어떻게해야합니까? 결국