在WindowsForm中可以利用WindowsApi函数AnimateWindow(Inptr hwd,int dwTime,int dwFlags)实现窗体的动画显示和淡出,但是它的样式十分少,且效果不好,而WPF引入了动画以后,可以自定义很炫的动画,增强了程序的视觉效果,实现它的一般步骤为,设置窗体透明度等相关属性,为动画准备;设置窗体Content的变化属性;添加动画显资源;绑定动画触发事件;具体如下。
1、设置窗体透明度等相关属性
<Windows:................
Name="WDGoto"
WindowStyle="None" <!-- 无边框窗体,因为边框不支持动画-->
Background="Transparent" <!-- 背景透明,因为最后动画显示的是窗体的Content所以要把窗体背景设为透明,不然会影响效果-->
AllowsTransparency="True"> <!-- 作用同上-->
2、设置窗体Content RenderTransform变换属性
RenderTransform里设置的内容即是动画时要连续改变的量
<Grid.RenderTransform>
<TransformGroup>
<ScaleTransform CenterX="100" CenterY="50"></ScaleTransform>
<!--缩放中心为100,50。RenderTransform.Children[0]-->
<RotateTransform CenterX="100" CenterY="50"></RotateTransform>
<!--旋转中心为100,50。RenderTransform.Children[1]-->
</Transform