Кстати, откуда вы знаете, что он продолжает работать и вызывает утечку памяти?

я есть анимация, определенная в 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.

Я проверил оба этих поста, но они не применяются:

Post1 Post2

Я могу войти в незагруженный метод, но вызов Stop () не останавливает анимацию. Насколько я понимаю, это может быть проблема с вызовом Begin () для раскадровки. Перегрузка с параметром isControlable. Однако, поскольку анимация полностью в XAML, я не уверен, как это повлиять.

Ответы на вопрос(2)

Ваш ответ на вопрос