В моем Application.Resources
определено следующее Storyboard
.
<Application.Resources>
<!--Storyboard animation for fading out a UI element-->
<Storyboard x:Key="FadeOutAnimation">
<DoubleAnimation From="1"
To="0"
Duration="0:0:0.25"
Storyboard.TargetProperty="Opacity"
AutoReverse="False" />
</Storyboard>
</Application.Resources>
В коде позади я использую это для затухания некоторых TextBlock
с, когда пользователь нажимает на них.
// Get the storyboard from application resources
Storyboard sb = (Storyboard)App.Current.Resources["FadeOutAnimation"];
// Setup the animation target for fade out
Storyboard.SetTarget( sb.Children.ElementAt( 0 ) as DoubleAnimation, myTextBlock );
// Set the animation completed handler
sb.Completed += ( s, e1 ) => {
// Stop the Storyboard
sb.Stop();
// Hide the TextBlock
myTextBlock.Visibility = Visibility.Collapsed;
};
// Start the Storyboard
sb.begin();
Вопрос в том, нужно ли мне каким-то образом отцепить myTextBlock
от цели DoubleAnimation
?
Если да, как мне это сделать?
Причина, по которой я спрашиваю, состоит в том, что меня беспокоит ссылка на этот TextBlock
, пока он не будет использован снова.
Спасибо за вашу помощь!