Я использовал раскадровку для мигания Image
. Я определил раскадровку в XAML:
<UserControl.Resources>
<Storyboard x:Key="AnimateFlicker" RepeatBehavior="Forever">
<DoubleAnimation Storyboard.TargetProperty="Opacity"
From="0"
To="1"
AutoReverse="True"
BeginTime="0:0:1"
Duration="0:0:0.08" />
<DoubleAnimation Storyboard.TargetProperty="Opacity"
From="1"
To="1"
AutoReverse="True"
Duration="0:0:0.4" />
<DoubleAnimation Storyboard.TargetProperty="Opacity"
From="1"
To="0"
AutoReverse="True"
Duration="0:0:0.08" />
</Storyboard>
</UserControl.Resources>
В своем коде я использовал этот код для запуска раскадровки:
private void Blink(bool blink)
{
Storyboard storyboard = TryFindResource("AnimateFlicker") as Storyboard;
if (blink)
{
if (storyboard != null)
{
imgState.BeginStoryboard(storyboard, HandoffBehavior.SnapshotAndReplace, true);
}
}
else
{
storyboard.Stop(); //this line wont work and blinking continues.
}
}
Но, как я уже упоминал в своем коде storyboard.Stop()
не работает и мигание продолжается. Как я могу перестать мигать после запуска?