mamad1166 Ответов: 0

Необходимо ли останавливать раскадровку в визуальном состоянии (или триггере событий) вручную после жизни?


У меня есть переключатель стиля включения раскадровки для его пользовательского интерфейса.
необходимо ли останавливать раскадровку в визуальном состоянии (или триггере событий) вручную после жизни ? в этом случае через 1 секунду.
в своих исследованиях я нашел несколько статей о раскадровке: [Stop and dispose animations (анимация будет продолжать работать даже тогда, когда вы уйдете)]

я использовал этот код для ручной остановки раскадровки :
<StopStoryboard BeginStoryboardName="SBTouchDown"/>

в этом коде я использовал визуальную группу состояний :
 <VisualStateGroup x:Name="CommonStates">
                                    <VisualState x:Name="Disabled">
                                        <Storyboard>
                                            <ColorAnimation 

toryboard.TargetName="CheckMark" Storyboard.TargetProperty="(Ellipse.Fill).
SolidColorBrush.Color)"

                                                            To="LightGray" 

uration="0:0:1" />
                                            <ColorAnimation 

toryboard.TargetName="EllipseMain" Storyboard.TargetProperty="(Ellipse.Stroke).
SolidColorBrush.Color)"

                                                            To="LightGray" 

uration="0:0:1" />
                                        </Storyboard>
                                    
lt;/VisualState>                                </VisualStateGroup>


и в этом коде я использовал EventTrigger :
 <EventTrigger RoutedEvent="MouseEnter">
                                <BeginStoryboard Name="SBTouchDown">
                                    <Storyboard>
                                        <ColorAnimation  

o="{StaticResource OverBackgroundColor}"   SpeedRatio="{StaticResource 
nimationSpeedRatio}"  Storyboard.TargetName="imag" 

toryboard.TargetProperty="Fill.Color" AccelerationRatio="0.2" 

ecelerationRatio="0.8"/>
                                        <DoubleAnimation 

toryboard.TargetProperty="RenderTransform.Angle" To="90" SpeedRatio="
StaticResource AnimationSpeedRatio}" ></DoubleAnimation>
                                    </Storyboard>
                                </BeginStoryboard>
                            </EventTrigger>
                            <EventTrigger RoutedEvent="MouseLeave">
                                <BeginStoryboard>
                                    <Storyboard>
                                        <ColorAnimation  

o="{StaticResource NormalBackgroundColor}"   SpeedRatio="{StaticResource 
nimationSpeedRatio}" Storyboard.TargetName="imag" 

toryboard.TargetProperty="Fill.Color" AccelerationRatio="0.2" 

ecelerationRatio="0.8"/>
                                        <DoubleAnimation 

toryboard.TargetProperty="RenderTransform.Angle" To="0" SpeedRatio="
StaticResource AnimationSpeedRatio}" ></DoubleAnimation>
                                    </Storyboard>
                                </BeginStoryboard>
                            </EventTrigger>


Что я уже пробовал:

я стараюсь максимально оптимизировать анимацию раскадровки

0 Ответов