日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

WPF制作子窗体的弹出动画效果

發(fā)布時間:2023/12/18 asp.net 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WPF制作子窗体的弹出动画效果 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

創(chuàng)建一個WPF應(yīng)用程序WpfApplication1,新建個窗體DialogWin

?

[xhtml] view plaincopyprint?
  • <Windowx:Class="WpfApplication1.DialogWin"?
  • ??? xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"?
  • ??? xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"?
  • ??? Title="DialogWin"Height="632"Width="635"WindowStyle="None"???
  • ???? Name="DW1"?? Background="Transparent"AllowsTransparency="True"WindowStartupLocation="CenterScreen"WindowState="Normal">?
  • ??? <Window.Resources>?
  • ??????? <!--此樣式能去除按鈕點擊后的虛線框-->?
  • ??????? <Stylex:Key="MyFocusVisual">?
  • ??????????? <SetterProperty="Control.Template">?
  • ??????????????? <Setter.Value>?
  • ??????????????????? <ControlTemplate>?
  • ??????????????????????? <RectangleMargin="-2"StrokeThickness="0"Stroke="Red"StrokeDashArray="1 2"/>?
  • ??????????????????? </ControlTemplate>?
  • ??????????????? </Setter.Value>?
  • ??????????? </Setter>?
  • ??????? </Style>?
  • ??????? <!--原始旋轉(zhuǎn)出來樣例-->?
  • ??????? <Storyboardx:Key="showDW">?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"?
  • ??????????????????????? Storyboard.TargetProperty="Opacity"?
  • ??????????????????????? From="0.2"To="1"Duration="0:0:2.5">?
  • ??????????? </DoubleAnimation>?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"?
  • ??????????????????????? Storyboard.TargetProperty="RenderTransform.Children[1].Angle"?
  • ??????????????????????? From="70"To="0"Duration="0:0:2">?
  • ??????????? </DoubleAnimation>?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"?
  • ??????????????????????? Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"?
  • ??????????????????????? From="0"To="1"Duration="0:0:2"??
  • ??????????????????????? AccelerationRatio="1">?
  • ??????????? </DoubleAnimation>?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"?
  • ??????????????????????? Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"?
  • ??????????????????????? From="0"To="1"Duration="0:0:2"??
  • ??????????????????????? AccelerationRatio="1">?
  • ??????????? </DoubleAnimation>?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"?
  • ??????????????????????? Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"?
  • ??????????????????????? To="0.98"BeginTime="0:0:2"Duration="0:0:0.05"??
  • ??????????????????????? DecelerationRatio="1">?
  • ??????????? </DoubleAnimation>?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"?
  • ??????????????????????? Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"?
  • ??????????????????????? To="0.98"BeginTime="0:0:2"Duration="0:0:0.05"??
  • ??????????????????????? DecelerationRatio="1">?
  • ??????????? </DoubleAnimation>?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"?
  • ??????????????????????? Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"?
  • ??????????????????????? To="1"BeginTime="0:0:2.05"Duration="0:0:0.2"???
  • ??????????????????????? AccelerationRatio="1">?
  • ??????????? </DoubleAnimation>?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"???????????????
  • ??????????????????????? Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"?
  • ??????????????????????? To="1"BeginTime="0:0:2.05"Duration="0:0:0.2"??
  • ??????????????????????? AccelerationRatio="1">?
  • ??????????? </DoubleAnimation>?
  • ??????? </Storyboard>?
  • ??????? <!--原始的旋轉(zhuǎn)回去樣例-->?
  • ??????? <Storyboardx:Key="closeDW">?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"??
  • ????????????????????? Storyboard.TargetProperty="RenderTransform.Children[1].Angle"?
  • ????????????????????? To="360"Duration="0:0:1.5">?
  • ??????????? </DoubleAnimation>?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"??
  • ????????????????????? Storyboard.TargetProperty="Opacity"?
  • ????????????????????? To="0"Duration="0:0:3">?
  • ??????????? </DoubleAnimation>?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"??
  • ????????????????????? Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"?
  • ????????????????????? To="0"Duration="0:0:1.5"AccelerationRatio="1">?
  • ??????????? </DoubleAnimation>?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"?
  • ????????????????????? Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"?
  • ????????????????????? To="0"Duration="0:0:1.5"AccelerationRatio="1">?
  • ??????????? </DoubleAnimation>?
  • ??????? </Storyboard>?
  • ??????? <!--轉(zhuǎn)出來-->?
  • ??????? <Storyboardx:Key="showDW1">?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"?
  • ??????????????????????? Storyboard.TargetProperty="Opacity"?
  • ??????????????????????? From="0"To="1"Duration="0:0:0.2">?
  • ??????????? </DoubleAnimation>?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"?
  • ??????????????????????? Storyboard.TargetProperty="RenderTransform.Children[1].Angle"?
  • ??????????????????????? From="180"To="0"Duration="0:0:0.2">?
  • ??????????? </DoubleAnimation>?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"?
  • ??????????????????????? Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"?
  • ??????????????????????? From="0.2"To="1"Duration="0:0:0.2"??
  • ??????????????????????? AccelerationRatio="1">?
  • ??????????? </DoubleAnimation>?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"?
  • ??????????????????????? Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"?
  • ??????????????????????? From="0.2"To="1"Duration="0:0:0.2"??
  • ??????????????????????? AccelerationRatio="1">?
  • ??????????? </DoubleAnimation>?
  • ??????? </Storyboard>?
  • ??????? <!--彈出來-->?
  • ??????? <Storyboardx:Key="showDW2">?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"?
  • ??????????????????????? Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"?
  • ??????????????????????? From="0.2"To="0.5"Duration="0:0:0.04">?
  • ??????????? </DoubleAnimation>?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"?
  • ??????????????????????? Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"?
  • ??????????????????????? From="0.2"To="0.5"Duration="0:0:0.04">?
  • ??????????? </DoubleAnimation>?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"?
  • ??????????????????????? Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"?
  • ????????????????????????? From="0.5"To="1"Duration="0:0:0.04"BeginTime="0:0:0.04">?
  • ??????????? </DoubleAnimation>?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"?
  • ??????????????????????? Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"?
  • ???????????????????????? From="0.5"To="1"Duration="0:0:0.04"BeginTime="0:0:0.04">?
  • ??????????? </DoubleAnimation>?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"?
  • ??????????????????????? Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"?
  • ???????????????????????? From="1"To="1.2"Duration="0:0:0.04"BeginTime="0:0:0.08"AutoReverse="True">?
  • ??????????? </DoubleAnimation>?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"?
  • ??????????????????????? Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"?
  • ??????????????????????? From="1"? To="1.2"Duration="0:0:0.04"BeginTime="0:0:0.08"AutoReverse="True">?
  • ??????????? </DoubleAnimation>???????????
  • ??????? </Storyboard>?
  • ??????? <!--轉(zhuǎn)回去-->?
  • ??????? <Storyboardx:Key="closeDW1">?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"??
  • ????????????????????? Storyboard.TargetProperty="RenderTransform.Children[1].Angle"?
  • ????????????????????? To="180"Duration="0:0:0.2">?
  • ??????????? </DoubleAnimation>?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"??
  • ????????????????????? Storyboard.TargetProperty="Opacity"?
  • ????????????????????? To="0"Duration="0:0:0.2">?
  • ??????????? </DoubleAnimation>?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"??
  • ????????????????????? Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"?
  • ????????????????????? To="0.2"Duration="0:0:0.2"AccelerationRatio="1">?
  • ??????????? </DoubleAnimation>?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"?
  • ????????????????????? Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"?
  • ????????????????????? To="0.2"Duration="0:0:0.2"AccelerationRatio="1">?
  • ??????????? </DoubleAnimation>?
  • ??????? </Storyboard>?
  • ?????????
  • ??????? <!--彈回去-->?
  • ??????? <Storyboardx:Key="closeDW2">?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"?
  • ??????????????????????? Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"?
  • ??????????????????????? From="1"To="1.2"Duration="0:0:0.04"? AutoReverse="True">?
  • ??????????? </DoubleAnimation>?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"?
  • ??????????????????????? Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"?
  • ??????????????????????? From="1"To="1.2"Duration="0:0:0.04"? AutoReverse="True">?
  • ??????????? </DoubleAnimation>?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"?
  • ??????????????????????? Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"?
  • ????????????????????????? From="1"To="0.5"Duration="0:0:0.04"BeginTime="0:0:0.04">?
  • ??????????? </DoubleAnimation>?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"?
  • ??????????????????????? Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"?
  • ???????????????????????? From="1"To="0.5"Duration="0:0:0.04"BeginTime="0:0:0.04">?
  • ??????????? </DoubleAnimation>?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"?
  • ??????????????????????? Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"?
  • ???????????????????????? From="0.5"To="0.2"Duration="0:0:0.04"BeginTime="0:0:0.08"? >?
  • ??????????? </DoubleAnimation>?
  • ??????????? <DoubleAnimationStoryboard.TargetName="Canvas1"?
  • ??????????????????????? Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"?
  • ??????????????????????? From="0.5"? To="0.2"Duration="0:0:0.04"BeginTime="0:0:0.08">?
  • ??????????? </DoubleAnimation>?
  • ??????? </Storyboard>?
  • ??? </Window.Resources>?
  • ?????
  • ??? <Window.Triggers>?
  • ??????? <!--設(shè)置DW1的事件觸發(fā)-->?
  • ??????? <!--注意對窗體window的name取為DW1-->?
  • ??????? <EventTriggerSourceName="DW1"RoutedEvent="Window.Loaded">?
  • ??????????? <BeginStoryboardName="showQueryCanvasStoryboard2"??
  • ????????????????????? Storyboard="{StaticResource showDW}">?
  • ??????????? </BeginStoryboard>?
  • ??????? </EventTrigger>?
  • ??????? <!--設(shè)置button1的事件觸發(fā)-->?
  • ??????? <!--注意對按鈕的name取為button1-->?
  • ??????? <EventTriggerSourceName="button1"RoutedEvent="Button.Click">?
  • ??????????? <BeginStoryboardName="closeQueryCanvasStoryboard"??
  • ????????????????????? Storyboard="{StaticResource closeDW}">?
  • ??????????? </BeginStoryboard>?
  • ??????? </EventTrigger>?
  • ?????????
  • ??? </Window.Triggers>?
  • ?????
  • ??? <CanvasBackground="Transparent"Height="257"Width="214">?????????
  • ??????? <CanvasBackground="Brown"Height="236"Width="201"Canvas.Left="9"Canvas.Top="14"Name="Canvas1">?
  • ??????????? <!--設(shè)置動畫-->?
  • ??????????? <Canvas.RenderTransform>?
  • ??????????????? <TransformGroup>?
  • ??????????????????? <ScaleTransformCenterX="100"CenterY="50"></ScaleTransform><!--縮放中心為100,50。RenderTransform.Children[0]-->?
  • ??????????????????? <RotateTransformCenterX="100"CenterY="50"></RotateTransform><!--旋轉(zhuǎn)中心為100,50。RenderTransform.Children[1]-->?
  • ??????????????? </TransformGroup>?
  • ??????????? </Canvas.RenderTransform>?
  • ??????????? <ButtonMargin="98,107,124,127"Name="button1"? FocusVisualStyle="{DynamicResource MyFocusVisual}"?
  • ??????????????? Click="button1_Click"? Height="28"Width="112"Canvas.Left="-53"Canvas.Top="77">關(guān)閉</Button>?
  • ??????? <CheckBoxHeight="31"HorizontalAlignment="Left"Margin="32,25,0,0"Name="checkBox1"VerticalAlignment="Top"Width="75"Canvas.Left="11"Canvas.Top="-1">CheckBox</CheckBox>?
  • ??????? <TextBlockHeight="35"Margin="124,21,34,0"Name="textBlock1"VerticalAlignment="Top"Background="BlueViolet"Text="dfdf"Width="60"Canvas.Left="-73"Canvas.Top="43"/>?
  • ??????? </Canvas>?
  • ??? </Canvas>????
  • </Window>?
  • <Window x:Class="WpfApplication1.DialogWin" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="DialogWin" Height="632" Width="635" WindowStyle="None" Name="DW1" Background="Transparent" AllowsTransparency="True" WindowStartupLocation="CenterScreen" WindowState="Normal"> <Window.Resources> <!--此樣式能去除按鈕點擊后的虛線框--> <Style x:Key="MyFocusVisual"> <Setter Property="Control.Template"> <Setter.Value> <ControlTemplate> <Rectangle Margin="-2" StrokeThickness="0" Stroke="Red" StrokeDashArray="1 2"/> </ControlTemplate> </Setter.Value> </Setter> </Style> <!--原始旋轉(zhuǎn)出來樣例--> <Storyboard x:Key="showDW"> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="Opacity" From="0.2" To="1" Duration="0:0:2.5"> </DoubleAnimation> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="RenderTransform.Children[1].Angle" From="70" To="0" Duration="0:0:2" > </DoubleAnimation> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX" From="0" To="1" Duration="0:0:2" AccelerationRatio="1"> </DoubleAnimation> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY" From="0" To="1" Duration="0:0:2" AccelerationRatio="1"> </DoubleAnimation> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX" To="0.98" BeginTime="0:0:2" Duration="0:0:0.05" DecelerationRatio="1"> </DoubleAnimation> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY" To="0.98" BeginTime="0:0:2" Duration="0:0:0.05" DecelerationRatio="1"> </DoubleAnimation> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX" To="1" BeginTime="0:0:2.05" Duration="0:0:0.2" AccelerationRatio="1"> </DoubleAnimation> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY" To="1" BeginTime="0:0:2.05" Duration="0:0:0.2" AccelerationRatio="1"> </DoubleAnimation> </Storyboard> <!--原始的旋轉(zhuǎn)回去樣例--> <Storyboard x:Key="closeDW"> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="RenderTransform.Children[1].Angle" To="360" Duration="0:0:1.5" > </DoubleAnimation> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="Opacity" To="0" Duration="0:0:3"> </DoubleAnimation> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX" To="0" Duration="0:0:1.5" AccelerationRatio="1"> </DoubleAnimation> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY" To="0" Duration="0:0:1.5" AccelerationRatio="1"> </DoubleAnimation> </Storyboard> <!--轉(zhuǎn)出來--> <Storyboard x:Key="showDW1"> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:0.2"> </DoubleAnimation> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="RenderTransform.Children[1].Angle" From="180" To="0" Duration="0:0:0.2" > </DoubleAnimation> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX" From="0.2" To="1" Duration="0:0:0.2" AccelerationRatio="1"> </DoubleAnimation> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY" From="0.2" To="1" Duration="0:0:0.2" AccelerationRatio="1"> </DoubleAnimation> </Storyboard> <!--彈出來--> <Storyboard x:Key="showDW2"> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX" From="0.2" To="0.5" Duration="0:0:0.04" > </DoubleAnimation> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY" From="0.2" To="0.5" Duration="0:0:0.04" > </DoubleAnimation> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX" From="0.5" To="1" Duration="0:0:0.04" BeginTime="0:0:0.04" > </DoubleAnimation> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY" From="0.5" To="1" Duration="0:0:0.04" BeginTime="0:0:0.04"> </DoubleAnimation> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX" From="1" To="1.2" Duration="0:0:0.04" BeginTime="0:0:0.08" AutoReverse="True" > </DoubleAnimation> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY" From="1" To="1.2" Duration="0:0:0.04" BeginTime="0:0:0.08" AutoReverse="True"> </DoubleAnimation> </Storyboard> <!--轉(zhuǎn)回去--> <Storyboard x:Key="closeDW1"> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="RenderTransform.Children[1].Angle" To="180" Duration="0:0:0.2" > </DoubleAnimation> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="Opacity" To="0" Duration="0:0:0.2"> </DoubleAnimation> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX" To="0.2" Duration="0:0:0.2" AccelerationRatio="1"> </DoubleAnimation> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY" To="0.2" Duration="0:0:0.2" AccelerationRatio="1"> </DoubleAnimation> </Storyboard> <!--彈回去--> <Storyboard x:Key="closeDW2"> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX" From="1" To="1.2" Duration="0:0:0.04" AutoReverse="True"> </DoubleAnimation> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY" From="1" To="1.2" Duration="0:0:0.04" AutoReverse="True"> </DoubleAnimation> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX" From="1" To="0.5" Duration="0:0:0.04" BeginTime="0:0:0.04" > </DoubleAnimation> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY" From="1" To="0.5" Duration="0:0:0.04" BeginTime="0:0:0.04"> </DoubleAnimation> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX" From="0.5" To="0.2" Duration="0:0:0.04" BeginTime="0:0:0.08" > </DoubleAnimation> <DoubleAnimation Storyboard.TargetName="Canvas1" Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY" From="0.5" To="0.2" Duration="0:0:0.04" BeginTime="0:0:0.08" > </DoubleAnimation> </Storyboard> </Window.Resources> <Window.Triggers> <!--設(shè)置DW1的事件觸發(fā)--> <!--注意對窗體window的name取為DW1--> <EventTrigger SourceName="DW1" RoutedEvent="Window.Loaded"> <BeginStoryboard Name="showQueryCanvasStoryboard2" Storyboard="{StaticResource showDW}"> </BeginStoryboard> </EventTrigger> <!--設(shè)置button1的事件觸發(fā)--> <!--注意對按鈕的name取為button1--> <EventTrigger SourceName="button1" RoutedEvent="Button.Click"> <BeginStoryboard Name="closeQueryCanvasStoryboard" Storyboard="{StaticResource closeDW}"> </BeginStoryboard> </EventTrigger> </Window.Triggers> <Canvas Background="Transparent" Height="257" Width="214"> <Canvas Background="Brown" Height="236" Width="201" Canvas.Left="9" Canvas.Top="14" Name="Canvas1"> <!--設(shè)置動畫--> <Canvas.RenderTransform> <TransformGroup> <ScaleTransform CenterX="100" CenterY="50"></ScaleTransform><!--縮放中心為100,50。RenderTransform.Children[0]--> <RotateTransform CenterX="100" CenterY="50"></RotateTransform><!--旋轉(zhuǎn)中心為100,50。RenderTransform.Children[1]--> </TransformGroup> </Canvas.RenderTransform> <Button Margin="98,107,124,127" Name="button1" FocusVisualStyle="{DynamicResource MyFocusVisual}" Click="button1_Click" Height="28" Width="112" Canvas.Left="-53" Canvas.Top="77">關(guān)閉</Button> <CheckBox Height="31" HorizontalAlignment="Left" Margin="32,25,0,0" Name="checkBox1" VerticalAlignment="Top" Width="75" Canvas.Left="11" Canvas.Top="-1">CheckBox</CheckBox> <TextBlock Height="35" Margin="124,21,34,0" Name="textBlock1" VerticalAlignment="Top" Background="BlueViolet" Text="dfdf" Width="60" Canvas.Left="-73" Canvas.Top="43" /> </Canvas> </Canvas> </Window>

    ?

    ?

    cs代碼:

    添加引用

    ?

    [c-sharp] view plaincopyprint?
  • using System.Windows.Threading?
  • using System.Windows.Threading

    ?

    ?

    [c-sharp] view plaincopyprint?
  • privatevoid button1_Click(object sender, RoutedEventArgs e)?
  • {?
  • ??? // this.Close(); ?
  • ??? /timer定義?
  • ??? tm.Tick += new EventHandler(tm_Tick);?
  • ??? tm.Interval = TimeSpan.FromSeconds(0.2);?
  • ??? tm.Start();??
  • }?
  • DispatcherTimer tm = new DispatcherTimer();?
  • void tm_Tick(object sender, EventArgs e)?
  • { this.Close(); }?
  • private void button1_Click(object sender, RoutedEventArgs e) { // this.Close(); /timer定義 tm.Tick += new EventHandler(tm_Tick); tm.Interval = TimeSpan.FromSeconds(0.2); tm.Start(); } DispatcherTimer tm = new DispatcherTimer(); void tm_Tick(object sender, EventArgs e) { this.Close(); }

    ?

    ?

    其中動畫目標為Canvas1,包括:

    慢速旋轉(zhuǎn)顯示(showDW)、慢速旋轉(zhuǎn)消失(closeDW)

    快速旋轉(zhuǎn)顯示(showDW1)、快速旋轉(zhuǎn)消失(closeDW1)

    快速彈出顯示(showDW2)、快速旋轉(zhuǎn)消失(closeDW2)

    ?

    ?

    快速旋轉(zhuǎn)顯示(showDW1):

    time:0??? →?? 0.2

    旋轉(zhuǎn)角度:180→0

    ?? 透明度:? 0→1

    ????? 放大: X向:0.2→1? Y向:0.2→1

    ?

    快速彈出顯示(showDW2):

    time:0??? →?????? 0.04? →??????? 0.08??? →←????? 0.12

    ????????? 放大????????????? 放大?????????????? 放大(并復(fù)原)

    ?? X向:0.2→0.5???? 0.5→1???????????? 1→1.2→1

    ?? Y向:0.2→0.5???? 0.5→1???????????? 1→1.2→1

    ?

    最后在主窗口的
    1.MainWindow.xaml里的<Grid>之間放上按鈕:
    ??? <Grid>
    ??????? <Button Content="顯示子窗口" Height="23" Click="ShowWindow_Click" Margin="114,138,141,138" />
    ??? </Grid>

    2.MainWindow.xaml.cs里加上相應(yīng)的按鈕事件:

    public partial class MainWindow : Window
    ??? {
    ??????? DialogWin myChildWindow = new DialogWin();
    ??????? public MainWindow()
    ??????? {
    ??????????? InitializeComponent();
    ??????????? //子窗口事件綁定
    myChildWindow.Closed += new EventHandler(myChildWindow_Closed);
    ??????? }
    ??????? #region 子窗口事件代碼
    void myChildWindow_Closed(object sender, EventArgs e)
    ??????? {
    ???????? }
    ??????? private void ShowWindow_Click(object sender, RoutedEventArgs e)
    ??????? {
    ??????????? myChildWindow.Title = "子窗口信息";
    SolidColorBrush(Colors.Yellow);
    ??????????? myChildWindow.Opacity = 0.9;
    ??????????? myChildWindow.Foreground = new SolidColorBrush(Colors.Red);
    ??????????? myChildWindow.FontSize = 14;
    ??????????? myChildWindow.Show();
    ??????? }
    ??????? #endregion
    ??? }

    轉(zhuǎn)載于:https://www.cnblogs.com/hnfxs/p/3418788.html

    總結(jié)

    以上是生活随笔為你收集整理的WPF制作子窗体的弹出动画效果的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。