在App.xaml中:

<VisualState x:Name="Open">
  <Storyboard>
    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.RotationY)" Storyboard.TargetName="ContentRoot">
      <EasingDoubleKeyFrame KeyTime="0" Value="90"/>
      <EasingDoubleKeyFrame KeyTime="0:0:1" Value="0"/>
    </DoubleAnimationUsingKeyFrames>
  </Storyboard>
</VisualState>

其次,在<Grid x:Name="ContentRoot"...> 中加入:

<Grid.Projection><PlaneProjection/>
</Grid.Projection>

下面是两个窗口翻转出现的例子:A窗口在前为调用窗口,B窗口在后为被调用窗口。

A窗口在app.xaml中的样式:

                                <VisualStateGroup x:Name="AnimationStates"><VisualState x:Name="WindowShow"><Storyboard><DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.RotationY)" Storyboard.TargetName="ContentRoot"><EasingDoubleKeyFrame KeyTime="0" Value="-90"/><EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="-90"/><EasingDoubleKeyFrame KeyTime="0:0:1" Value="0"/></DoubleAnimationUsingKeyFrames></Storyboard></VisualState><VisualState x:Name="WindowHide"><Storyboard><DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.RotationY)" Storyboard.TargetName="ContentRoot"><EasingDoubleKeyFrame KeyTime="0" Value="0"/><EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="90"/></DoubleAnimationUsingKeyFrames></Storyboard></VisualState></VisualStateGroup>

B窗口在app.xaml中的样式:

                                <VisualStateGroup x:Name="WindowStates"><VisualState x:Name="Open"><Storyboard><DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.RotationY)" Storyboard.TargetName="ContentRoot"><EasingDoubleKeyFrame KeyTime="0:0:0" Value="-90"/><EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="-90"/><EasingDoubleKeyFrame KeyTime="0:0:1" Value="0"/></DoubleAnimationUsingKeyFrames></Storyboard></VisualState><VisualState x:Name="Closed"><Storyboard><DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.RotationY)" Storyboard.TargetName="ContentRoot"><EasingDoubleKeyFrame KeyTime="0:0:0" Value="0"/><EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="90"/></DoubleAnimationUsingKeyFrames></Storyboard></VisualState></VisualStateGroup>

A窗口中某一个按钮的代码:

        private void button1_Click(object sender, RoutedEventArgs e){VisualStateManager.GoToState(this, "WindowHide", true);WinB w = new WinB();w.Show();w.Closed += new EventHandler(w_Closed);}void w_Closed(object sender, EventArgs e){VisualStateManager.GoToState(this, "WindowShow", true);}

另外,RotationY的值为:

0:向前;

180:向后;

90:向左;

-90:向右。

转载于:https://www.cnblogs.com/ajeeky/archive/2013/02/17/2915033.html

ChildWindow在Open时旋转出现相关推荐

  1. 图片翻转代码linux,Android实现图片顺时逆时旋转及拖拽显示效果

    1.首先说一下两个类: Matrix Class Overview The Matrix class holds a 3x3 matrix for transforming coordinates. ...

  2. CNN误差反传时旋转卷积核的简明分析

    CNN(卷积神经网络)的误差反传(error back propagation)中有一个非常关键的的步骤就是将某个卷积(Convolve)层的误差传到前一层的池化(Pool)层上,因为在CNN中是2D ...

  3. android:camera rotate90 使用相机时旋转90度问题

    由于很多android手机在使用相机的竖屏模式的时候,相机的preview有旋转了90度而看起来非常丑的问题,所以只有使用默认的横屏模式来获取图像. 1.在androidManifest.xml中申明 ...

  4. Titanium中如何实现正在加载时,旋转的小圆圈

    在实际APP开发中,数据在加载到手机端之前的这段时间,一般大家都会设置一个旋转的小圆来提示用户正在加载,这对非常友好的一个用户体验之一.所以我们就来实现一下这个功能 这里要用到一个控件叫Activit ...

  5. CAD输出的HPGL格式时什么格式怎么旋转度数?

    一般来说在CAD中,图纸的输出格式使用较多的就是dwg.dxf这两种格式了,HPGL也是CAD输出图纸格式的一种,只是在日常绘图的时候使用到的比较少. HPGL即惠普图形语言,是一个被大多数 CAD ...

  6. ios 圆形旋转菜单_iOS 圆环菜单

    前言 之前的一个项目,没有使用TabBar,而是选择用圆环作为用户点击的菜单,加上深蓝的冷色调,APP看着还蛮高大上,先看下效果图: demo.gif 效果图分析 1.类似地球的是一张Image,其余 ...

  7. QT旋转按钮控件的实现

    目录 一.实现需求:鼠标hover时旋转 二.实现方式:计时器做动画 三.代码实现 QT旋转按钮控件的实现 一.实现需求:鼠标hover时旋转 需求是:实现类似于WINDOWS下,某些软件窗口关闭按钮 ...

  8. Android开发——异步任务中Activity销毁时的问题

    0.  前言 在Android开发中经常会发生Activity的销毁重建,比如用户长时间接听一个电话后回到APP.在Android开发--Fragment知识整理(二)中我们提到了使用Fragment ...

  9. ffmpeg filter 实现画面旋转

    工作中发现一个问题:手机设备在拍摄视频时,是通过竖屏拍摄,文件存放时的缩略图也是竖屏 但是在做播放器时,没经过处理的播放器会发现播放时是横着的. VLC是竖屏的 但是其分辨率却是横屏的格式. 究其原因 ...

最新文章

  1. 一文看懂docker容器技术架构及其中的各个模块
  2. 四连通,和八连通的详解(MATLAB)
  3. 20年前的程序员什么样?从版主到架构大牛的成长之路
  4. Scalaz(12)- Monad:再述述flatMap,顺便了解MonadPlus
  5. Pytorch之CNN:基于Pytorch框架实现经典卷积神经网络的算法(LeNet、AlexNet、VGG、NIN、GoogleNet、ResNet)——从代码认知CNN经典架构
  6. matlab数组元素对应相减,MATLAB下矩阵的运算 看完你就知道了
  7. python通讯录管理程序的用户可行性_通讯录管理系统项目可行性分析
  8. HTML map元素
  9. weblogic 替换默认错误页面_weblogic 部署后出现Error 404–Not Found
  10. android只有域名打包封装成apk,一个Android Studio工程根据网址打包出不同的apk
  11. linux ffmpeg 简单视频播放器
  12. python 微信爬虫_PythonWchatScrapy
  13. solidworks导出xml文件 (matlab打开)
  14. EasyUI 中自定义组件 icon 图标
  15. Customer类的设计
  16. 淘宝上的零食能买吃吗?网上进口食品的秘密。
  17. NCRE考试感想 四级嵌入式(下)
  18. 制作统一样式的H5视频播放器
  19. 在electron应用中检测网络
  20. 【软考必读】软考高级证书对工作的6大帮助

热门文章

  1. LeetCode 6062. 设计一个 ATM 机器
  2. LeetCode MySQL 1633. 各赛事的用户注册率
  3. LeetCode 438. 找到字符串中所有字母异位词(滑动窗口)
  4. LeetCode 629. K个逆序对数组(DP)
  5. 数据结构--链表--判断一个字符串是否为回文串(单向链表,双向链表)
  6. Django第二天笔记
  7. python中的私有化
  8. Python中的Number(数字)
  9. led拼接屏报价_液晶拼接屏与led显示屏的区别在哪?
  10. matlab 动画_MATLAB绘图动画(1)