创建一个WPF应用程序WpfApplication1,新建个窗体DialogWin

  1. <Windowx:Class="WpfApplication1.DialogWin"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. Title="DialogWin"Height="632"Width="635"WindowStyle="None"
  5. Name="DW1"   Background="Transparent"AllowsTransparency="True"WindowStartupLocation="CenterScreen"WindowState="Normal">
  6. <Window.Resources>
  7. <!--此样式能去除按钮点击后的虚线框-->
  8. <Stylex:Key="MyFocusVisual">
  9. <SetterProperty="Control.Template">
  10. <Setter.Value>
  11. <ControlTemplate>
  12. <RectangleMargin="-2"StrokeThickness="0"Stroke="Red"StrokeDashArray="1 2"/>
  13. </ControlTemplate>
  14. </Setter.Value>
  15. </Setter>
  16. </Style>
  17. <!--原始旋转出来样例-->
  18. <Storyboardx:Key="showDW">
  19. <DoubleAnimationStoryboard.TargetName="Canvas1"
  20. Storyboard.TargetProperty="Opacity"
  21. From="0.2"To="1"Duration="0:0:2.5">
  22. </DoubleAnimation>
  23. <DoubleAnimationStoryboard.TargetName="Canvas1"
  24. Storyboard.TargetProperty="RenderTransform.Children[1].Angle"
  25. From="70"To="0"Duration="0:0:2">
  26. </DoubleAnimation>
  27. <DoubleAnimationStoryboard.TargetName="Canvas1"
  28. Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
  29. From="0"To="1"Duration="0:0:2"
  30. AccelerationRatio="1">
  31. </DoubleAnimation>
  32. <DoubleAnimationStoryboard.TargetName="Canvas1"
  33. Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
  34. From="0"To="1"Duration="0:0:2"
  35. AccelerationRatio="1">
  36. </DoubleAnimation>
  37. <DoubleAnimationStoryboard.TargetName="Canvas1"
  38. Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
  39. To="0.98"BeginTime="0:0:2"Duration="0:0:0.05"
  40. DecelerationRatio="1">
  41. </DoubleAnimation>
  42. <DoubleAnimationStoryboard.TargetName="Canvas1"
  43. Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
  44. To="0.98"BeginTime="0:0:2"Duration="0:0:0.05"
  45. DecelerationRatio="1">
  46. </DoubleAnimation>
  47. <DoubleAnimationStoryboard.TargetName="Canvas1"
  48. Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
  49. To="1"BeginTime="0:0:2.05"Duration="0:0:0.2"
  50. AccelerationRatio="1">
  51. </DoubleAnimation>
  52. <DoubleAnimationStoryboard.TargetName="Canvas1"
  53. Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
  54. To="1"BeginTime="0:0:2.05"Duration="0:0:0.2"
  55. AccelerationRatio="1">
  56. </DoubleAnimation>
  57. </Storyboard>
  58. <!--原始的旋转回去样例-->
  59. <Storyboardx:Key="closeDW">
  60. <DoubleAnimationStoryboard.TargetName="Canvas1"
  61. Storyboard.TargetProperty="RenderTransform.Children[1].Angle"
  62. To="360"Duration="0:0:1.5">
  63. </DoubleAnimation>
  64. <DoubleAnimationStoryboard.TargetName="Canvas1"
  65. Storyboard.TargetProperty="Opacity"
  66. To="0"Duration="0:0:3">
  67. </DoubleAnimation>
  68. <DoubleAnimationStoryboard.TargetName="Canvas1"
  69. Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
  70. To="0"Duration="0:0:1.5"AccelerationRatio="1">
  71. </DoubleAnimation>
  72. <DoubleAnimationStoryboard.TargetName="Canvas1"
  73. Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
  74. To="0"Duration="0:0:1.5"AccelerationRatio="1">
  75. </DoubleAnimation>
  76. </Storyboard>
  77. <!--转出来-->
  78. <Storyboardx:Key="showDW1">
  79. <DoubleAnimationStoryboard.TargetName="Canvas1"
  80. Storyboard.TargetProperty="Opacity"
  81. From="0"To="1"Duration="0:0:0.2">
  82. </DoubleAnimation>
  83. <DoubleAnimationStoryboard.TargetName="Canvas1"
  84. Storyboard.TargetProperty="RenderTransform.Children[1].Angle"
  85. From="180"To="0"Duration="0:0:0.2">
  86. </DoubleAnimation>
  87. <DoubleAnimationStoryboard.TargetName="Canvas1"
  88. Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
  89. From="0.2"To="1"Duration="0:0:0.2"
  90. AccelerationRatio="1">
  91. </DoubleAnimation>
  92. <DoubleAnimationStoryboard.TargetName="Canvas1"
  93. Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
  94. From="0.2"To="1"Duration="0:0:0.2"
  95. AccelerationRatio="1">
  96. </DoubleAnimation>
  97. </Storyboard>
  98. <!--弹出来-->
  99. <Storyboardx:Key="showDW2">
  100. <DoubleAnimationStoryboard.TargetName="Canvas1"
  101. Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
  102. From="0.2"To="0.5"Duration="0:0:0.04">
  103. </DoubleAnimation>
  104. <DoubleAnimationStoryboard.TargetName="Canvas1"
  105. Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
  106. From="0.2"To="0.5"Duration="0:0:0.04">
  107. </DoubleAnimation>
  108. <DoubleAnimationStoryboard.TargetName="Canvas1"
  109. Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
  110. From="0.5"To="1"Duration="0:0:0.04"BeginTime="0:0:0.04">
  111. </DoubleAnimation>
  112. <DoubleAnimationStoryboard.TargetName="Canvas1"
  113. Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
  114. From="0.5"To="1"Duration="0:0:0.04"BeginTime="0:0:0.04">
  115. </DoubleAnimation>
  116. <DoubleAnimationStoryboard.TargetName="Canvas1"
  117. Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
  118. From="1"To="1.2"Duration="0:0:0.04"BeginTime="0:0:0.08"AutoReverse="True">
  119. </DoubleAnimation>
  120. <DoubleAnimationStoryboard.TargetName="Canvas1"
  121. Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
  122. From="1"  To="1.2"Duration="0:0:0.04"BeginTime="0:0:0.08"AutoReverse="True">
  123. </DoubleAnimation>
  124. </Storyboard>
  125. <!--转回去-->
  126. <Storyboardx:Key="closeDW1">
  127. <DoubleAnimationStoryboard.TargetName="Canvas1"
  128. Storyboard.TargetProperty="RenderTransform.Children[1].Angle"
  129. To="180"Duration="0:0:0.2">
  130. </DoubleAnimation>
  131. <DoubleAnimationStoryboard.TargetName="Canvas1"
  132. Storyboard.TargetProperty="Opacity"
  133. To="0"Duration="0:0:0.2">
  134. </DoubleAnimation>
  135. <DoubleAnimationStoryboard.TargetName="Canvas1"
  136. Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
  137. To="0.2"Duration="0:0:0.2"AccelerationRatio="1">
  138. </DoubleAnimation>
  139. <DoubleAnimationStoryboard.TargetName="Canvas1"
  140. Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
  141. To="0.2"Duration="0:0:0.2"AccelerationRatio="1">
  142. </DoubleAnimation>
  143. </Storyboard>
  144. <!--弹回去-->
  145. <Storyboardx:Key="closeDW2">
  146. <DoubleAnimationStoryboard.TargetName="Canvas1"
  147. Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
  148. From="1"To="1.2"Duration="0:0:0.04"  AutoReverse="True">
  149. </DoubleAnimation>
  150. <DoubleAnimationStoryboard.TargetName="Canvas1"
  151. Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
  152. From="1"To="1.2"Duration="0:0:0.04"  AutoReverse="True">
  153. </DoubleAnimation>
  154. <DoubleAnimationStoryboard.TargetName="Canvas1"
  155. Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
  156. From="1"To="0.5"Duration="0:0:0.04"BeginTime="0:0:0.04">
  157. </DoubleAnimation>
  158. <DoubleAnimationStoryboard.TargetName="Canvas1"
  159. Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
  160. From="1"To="0.5"Duration="0:0:0.04"BeginTime="0:0:0.04">
  161. </DoubleAnimation>
  162. <DoubleAnimationStoryboard.TargetName="Canvas1"
  163. Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
  164. From="0.5"To="0.2"Duration="0:0:0.04"BeginTime="0:0:0.08"  >
  165. </DoubleAnimation>
  166. <DoubleAnimationStoryboard.TargetName="Canvas1"
  167. Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
  168. From="0.5"  To="0.2"Duration="0:0:0.04"BeginTime="0:0:0.08">
  169. </DoubleAnimation>
  170. </Storyboard>
  171. </Window.Resources>
  172. <Window.Triggers>
  173. <!--设置DW1的事件触发-->
  174. <!--注意对窗体window的name取为DW1-->
  175. <EventTriggerSourceName="DW1"RoutedEvent="Window.Loaded">
  176. <BeginStoryboardName="showQueryCanvasStoryboard2"
  177. Storyboard="{StaticResource showDW}">
  178. </BeginStoryboard>
  179. </EventTrigger>
  180. <!--设置button1的事件触发-->
  181. <!--注意对按钮的name取为button1-->
  182. <EventTriggerSourceName="button1"RoutedEvent="Button.Click">
  183. <BeginStoryboardName="closeQueryCanvasStoryboard"
  184. Storyboard="{StaticResource closeDW}">
  185. </BeginStoryboard>
  186. </EventTrigger>
  187. </Window.Triggers>
  188. <CanvasBackground="Transparent"Height="257"Width="214">
  189. <CanvasBackground="Brown"Height="236"Width="201"Canvas.Left="9"Canvas.Top="14"Name="Canvas1">
  190. <!--设置动画-->
  191. <Canvas.RenderTransform>
  192. <TransformGroup>
  193. <ScaleTransformCenterX="100"CenterY="50"></ScaleTransform><!--缩放中心为100,50。RenderTransform.Children[0]-->
  194. <RotateTransformCenterX="100"CenterY="50"></RotateTransform><!--旋转中心为100,50。RenderTransform.Children[1]-->
  195. </TransformGroup>
  196. </Canvas.RenderTransform>
  197. <ButtonMargin="98,107,124,127"Name="button1"  FocusVisualStyle="{DynamicResource MyFocusVisual}"
  198. Click="button1_Click"  Height="28"Width="112"Canvas.Left="-53"Canvas.Top="77">关闭</Button>
  199. <CheckBoxHeight="31"HorizontalAlignment="Left"Margin="32,25,0,0"Name="checkBox1"VerticalAlignment="Top"Width="75"Canvas.Left="11"Canvas.Top="-1">CheckBox</CheckBox>
  200. <TextBlockHeight="35"Margin="124,21,34,0"Name="textBlock1"VerticalAlignment="Top"Background="BlueViolet"Text="dfdf"Width="60"Canvas.Left="-73"Canvas.Top="43"/>
  201. </Canvas>
  202. </Canvas>
  203. </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>
<!--原始旋转出来样例-->
<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>
<!--原始的旋转回去样例-->
<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>
<!--转出来-->
<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>
<!--转回去-->
<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>
<!--设置DW1的事件触发-->
<!--注意对窗体window的name取为DW1-->
<EventTrigger SourceName="DW1" RoutedEvent="Window.Loaded">
<BeginStoryboard Name="showQueryCanvasStoryboard2"
Storyboard="{StaticResource showDW}">
</BeginStoryboard>
</EventTrigger>
<!--设置button1的事件触发-->
<!--注意对按钮的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">
<!--设置动画-->
<Canvas.RenderTransform>
<TransformGroup>
<ScaleTransform CenterX="100" CenterY="50"></ScaleTransform><!--缩放中心为100,50。RenderTransform.Children[0]-->
<RotateTransform CenterX="100" CenterY="50"></RotateTransform><!--旋转中心为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">关闭</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代码:

添加引用

  1. using System.Windows.Threading

using System.Windows.Threading

  1. privatevoid button1_Click(object sender, RoutedEventArgs e)
  2. {
  3. // this.Close();
  4. /////timer定义
  5. tm.Tick += new EventHandler(tm_Tick);
  6. tm.Interval = TimeSpan.FromSeconds(0.2);
  7. tm.Start();
  8. }
  9. DispatcherTimer tm = new DispatcherTimer();
  10. void tm_Tick(object sender, EventArgs e)
  11. { 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,包括:

慢速旋转显示(showDW)、慢速旋转消失(closeDW)

快速旋转显示(showDW1)、快速旋转消失(closeDW1)

快速弹出显示(showDW2)、快速旋转消失(closeDW2)

快速旋转显示(showDW1):

time:0    →   0.2

旋转角度:180→0

透明度:  0→1

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

快速弹出显示(showDW2):

time:0    →       0.04  →        0.08    →←      0.12

放大              放大               放大(并复原)

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里加上相应的按钮事件:

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
    }

WPF制作子窗体的弹出动画效果的更多相关文章

  1. mac关闭渐隐和弹出动画效果

    苹果系统应用程序的窗口和对话框每次使用的时候都有华丽的特效,但是如果你感觉这种特效显得有点慢(MacGG闲的蛋疼),那该如何取消掉他呢? 方法很简单,打开"终端"(Finder-& ...

  2. C# 设置MDI子窗体只能弹出一个的方法

    Windows程序设计中的MDI(Multiple Document Interface)官方解释就是所谓的多文档界面,与此对应就有单文档界面 (SDI), 它是微软公司从Windows .0下的Mi ...

  3. 原生Js_实现简单的下拉折叠菜单(添加弹出动画效果)

    用javascript实现简单的下拉折叠菜单效果 实现步骤 (a)获得各操作的dom对象: (b)在所有菜单按钮对象上添加单击事件: (c)设置所有菜单按钮样式为空,并将当前按钮的样式设置为“acti ...

  4. Bootboxjs快速制作Bootstrap的弹出框效果

    Bootboxjs是一个简单的js库,简单快捷帮你制作一个Bootstrap的弹出框效果. 一.简介 bootbox.js是一个小的JavaScript库,它帮助您在使用bootstrap框架的时候快 ...

  5. pyqt5对用qt designer设计的窗体实现弹出子窗口的示例

    pyqt5对用qt designer设计的窗体实现弹出子窗口的示例 脚本专栏 python 1. 用qt designer编写主窗体,窗体类型是MainWindow,空白窗口上一个按钮.并转换成mai ...

  6. 在Winform框架的多文档界面中实现双击子窗口单独弹出或拖出及拽回的处理

    在基于DevExpress的多文档窗口界面中,我们一般使用XtraTabbedMdiManager来管理多文档窗口的一些特性,如顶部菜单,页面的关闭按钮处理,以及一些特殊的设置,本篇随笔介绍这些特点, ...

  7. 阶段一:为View设置阴影和弹出动画(天气应用)

    “阶段一”是指我第一次系统地学习Android开发.这主要是对我的学习过程作个记录. 上一篇阶段一:通过网络请求,获得并解析JSON数据(天气应用)完成了应用的核心功能,接下来就要对它进行优化.今天我 ...

  8. iphone弹出窗口效果的制作(Core animation, CALayer)

    效果类似人人网微薄客户端的弹出效果 static CGFloat kTransitionDuration = 0.3; - (void)initView { UIWindow *window = [U ...

  9. IOS项目之弹出动画终结篇

    在之前写过IOS项目之弹出动画一.IOS项目之弹出动画二.IOS项目之弹出动画三,今天来一个终极封装已经上传到Github上弹出动画总结篇UIPopoverTableView. UIPopoverTa ...

随机推荐

  1. 【Unity技巧】Unity中的优化技术

    http://blog.csdn.net/candycat1992/article/details/42127811 写在前面 这一篇是在Digital Tutors的一个系列教程的基础上总结扩展而得 ...

  2. pyhton2 python3 语法区别

    几乎所有的Python 2程序都需要一些修改才能正常地运行在Python 3的环境下.为了简化这个转换过程,Python 3自带了一个叫做2to3的实用脚本(Utility Script),这个脚本会 ...

  3. JavaScript基础知识(1)

    表单的确认 : 客户端确认 --减少服务器负载 --缩短用户等待时间 --兼容性难 服务器端确认: ----统一确认 ----兼容性强 ----服务器负载重 JavaScript基本的写法:      ...

  4. Uva---10881 Piotr's Ants(蚂蚁)

    Problem DPiotr's AntsTime Limit: 2 seconds "One thing is for certain: there is no stopping them ...

  5. IE中JavaScript 的异常处理

    错误类型 编程中我们会遇到四种错误:编译错误.逻辑错误.输入/验证错误.运行时错误,但是在JavaScript中我们只能最后两种错误. JavaScript 1.5定义了六种错误类型: EvalErr ...

  6. VI编辑器学习笔记

    VIM的使用 VI是Linux系统中的一种编辑器,它的使用方法和界面与Unix平台十分相似,掌握了VIM的特殊,你可以感觉到它强大的功能与高效.Vim 相对来说较小,无论你使用任何Linux系统,你总 ...

  7. iOS视频直播初窥:高仿<喵播APP>

    视频直播初窥 视频直播,可以分为 采集,前处理,编码,传输, 服务器处理,解码,渲染 采集: iOS系统因为软硬件种类不多, 硬件适配性比较好, 所以比较简单. 而Android端市面上机型众多, 要 ...

  8. Objective-C:Foundation框架-常用类-NSString全解

    Foundation框架中常用的类有字符串.集合.字典等,这里介绍字符串NSString.本文分别介绍了NSString的创建.从文件里读取NSString字符串.通过函数改变外部的NSString变 ...

  9. struts2视频学习笔记 07-08(为Action的属性注入值,指定需要Struts 2处理的请求后缀,常用常量)

    课时7 为Action的属性注入值(增加灵活性,适用于经常更改的参数) Struts2为Action中的属性提供了依赖注入功能,在struts2的配置文件中,我们可以很方便地为Action中的属性注入 ...

  10. Caffe 深度学习框架介绍

    转自:http://suanfazu.com/t/caffe/281 Caffe是一个清晰而高效的深度学习框架,其作者是博士毕业于UC Berkeley的贾扬清,目前在Google工作. Caffe是 ...