Кстати, откуда вы знаете, что он продолжает работать и вызывает утечку памяти?
я есть анимация, определенная в XAML (как UserControl), которая по существу переключается между двумя изображениями каждую секунду:
<UserControl x:Class="KaleidoscopeApplication.Controls.RemoteAnimation"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Loaded="RemoteAnimation_Loaded"
Unloaded="RemoteAnimation_Unloaded">
<Grid Canvas.Left="500" Canvas.Top="84">
<Grid.Triggers>
<EventTrigger RoutedEvent="Grid.Loaded">
<BeginStoryboard>
<Storyboard x:Name="storyboard" RepeatBehavior="Forever">
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="remote2" BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Visibility)">
<DiscreteObjectKeyFrame KeyTime="0:0:1">
<DiscreteObjectKeyFrame.Value>
<Visibility>Collapsed</Visibility>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
<DiscreteObjectKeyFrame KeyTime="0:0:2">
<DiscreteObjectKeyFrame.Value>
<Visibility>Visible</Visibility>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Grid.Triggers>
<Image Name="remote1" Source="/Resources/Elements/Images/341.png"/>
<Image Name="remote2" Source="/Resources/Elements/Images/342.png"/>
</Grid>
</UserControl>
Может использоваться в окне таким образом:
<!-- Remote -->
<uControl:RemoteAnimation
x:Name="remoteAnimation"
Canvas.Left="316" Canvas.Top="156" Height="246" Width="121" />
Моя проблема в том, что когда окно, содержащее анимацию, закрывается, оно продолжает работать и вызывает утечку. Я не могу остановить анимацию с помощью RemoteAnimation_Unloaded () с storyboard.Stop () ... он не работает с jack.
Я проверил оба этих поста, но они не применяются:
Я могу войти в незагруженный метод, но вызов Stop () не останавливает анимацию. Насколько я понимаю, это может быть проблема с вызовом Begin () для раскадровки. Перегрузка с параметром isControlable. Однако, поскольку анимация полностью в XAML, я не уверен, как это повлиять.