WPF在XAML中實現持續動畫的暫停、恢復、停止


1.動畫通過EventTrigger監聽按鈕的FrameworkElement.Loaded事件,但控件載入時就進行動畫,

   持續動畫通過<BeginStoryboard Name="yourStoryName">下的<Storyboard>或者子動畫的RepeatBehavior=Forever來實現,

   鼠標的移入移出,通過監聽UIElement.MouseEnter和UIElement.MouseLeave事件,

 鼠標移入時,通過<PauseStoryboard BeginStoryboardName="yourStoryName"/>來暫停動畫,

   鼠標移出時,通過<ResumeStoryboard BeginStoryboardName="yourStoryName"/>來恢復動畫,具體代碼如下:

<Button Content="Click Me">
    <Button.Triggers>
        <EventTrigger RoutedEvent="FrameworkElement.Loaded">
            <BeginStoryboard Name="OpacityStoryboard">
                <Storyboard>
                    <DoubleAnimation Storyboard.TargetProperty="(UIElement.Opacity)"
                        From="0" To="1" RepeatBehavior="Forever" AutoReverse="True" />
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
        <EventTrigger RoutedEvent="UIElement.MouseEnter">
            <PauseStoryboard BeginStoryboardName="OpacityStoryboard" />
        </EventTrigger>
        <EventTrigger RoutedEvent="UIElement.MouseLeave">
            <ResumeStoryboard BeginStoryboardName="OpacityStoryboard" />
        </EventTrigger>
    </Button.Triggers>
</Button>
View Code

   停止動畫時,使用<StopStoryboard BeginStoryboardName="yourStoryName"/>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM