很久以前在网上找过窗体翻转的Demo,但看得不是很明白,大多是内容的翻转,研究了下,现在分享给大家。

利用UIElement.RenderTransform 属性就能实现元素的呈现位置的转换,因此只需改变window的RenderTransform属性就可以达到想要的效果。

  1. //关键代码
  2. <Window.RenderTransform>
  3. <ScaleTransform x:Name="WindowTransform"></ScaleTransform>
  4. </Window.RenderTransform>
  5. //动画
  6. <Storyboard x:Key="TransformToMiddle">
  7. <DoubleAnimation Storyboard.TargetName="WindowTransform" Storyboard.TargetProperty="ScaleX" From="1" To="-1" By="1" Duration="0:0:1" />
  8. </Storyboard>

后台调用动画

  1. Storyboard sbto = Application.Current.Resources["TransformToMiddle"] as Storyboard;
    sbto.Brgin(this);

如何使用 ScaleTransform 水平或垂直翻转 UIElement(查阅MSDN)

下图显示要翻转的按钮。

  1. <Button Content="Flip me!" Padding="5">
  2. </Button>

若要水平翻转按钮,请创建一个 ScaleTransform 并将它的 ScaleX 属性设置为 -1。 将 ScaleTransform 应用于按钮的 RenderTransform 属性。

  1. <Button Content="Flip me!" Padding="5">
  2. <Button.RenderTransform>
  3. <ScaleTransform ScaleX="-1" />
  4. </Button.RenderTransform>
  5. </Button>

效果图

若要原地翻转按钮,需要将 ScaleTransform 应用于按钮的中心,而不是角。 将 ScaleTransform 应用于按钮中心的一个简便方法是将按钮的 RenderTransformOrigin 属性设置为 0.5, 0.5。

  1. <Button Content="Flip me!" Padding="5"
  2. RenderTransformOrigin="0.5,0.5">
  3. <Button.RenderTransform>
  4. <ScaleTransform ScaleX="-1" />
  5. </Button.RenderTransform>
  6. </Button>

由于我的程序里包含太多其它东西,程序就不上传了

wpf仿QQ之窗体翻转的更多相关文章

  1. WPF仿QQ聊天框表情文字混排实现

    原文:WPF仿QQ聊天框表情文字混排实现 二话不说.先上图 图中分别有文件.文本+表情.纯文本的展示,对于同一个list不同的展示形式,很明显,应该用多个DataTemplate,那么也就需要Data ...

  2. wpf 仿QQ图片查看器

    参考博客 WPF下的仿QQ图片查看器 wpf图片查看器,支持鼠标滚动缩放拖拽 实现效果 主要参考的WPF下的仿QQ图片查看器,原博主只给出了部分代码. 没有完成的部分 1.右下角缩略图是原图不是缩略图 ...

  3. wpf仿qq边缘自动停靠,支持多屏

    wpf完全模仿qq边缘自动隐藏功能,采用鼠标钩子获取鼠标当前状态,在通过当前鼠标的位置和点击状态来计算是否需要隐藏. 以下是实现的具体方法: 一.鼠标钩子实时获取当前鼠标的位置和点击状态 /// &l ...

  4. (初学)wpf仿QQ界面-整体布局

    跟一个小学弟一起学习wpf,小学弟是刚初中毕业,对编程刚刚接触,我挺怕自己带的不好,影响小学弟以后在编程方向的学习兴趣.我承认自己水平不高,但是在努力去学习新知识!一起加油吧!在此以博客,记录学习进度 ...

  5. wpf 仿QQ音乐歌词卡拉OK

    最近用WPF做了个音乐播放器,读取歌词.歌词同步都已经实现了.卡拉OK逐字变色 也实现了,但是逐字变色时不能根据歌手唱的快慢来逐字显示.请问各位大神,这个如何解决,有何思路?(附上我做的界面) 感谢各 ...

  6. C# WPF 仿QQ靠近屏幕上方自动缩起功能实现

    碰到了类似需求,但是上网查了一圈发现感觉要么很复杂,要么代码很臃肿,索性自己实现了一个 几乎和QQ是一模一样的效果,而且核心代码只有20行左右. 代码如下: using System; using S ...

  7. wpf实现仿qq消息提示框

    原文:wpf实现仿qq消息提示框 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/huangli321456/article/details/5052 ...

  8. WPF ”真正的“高仿QQ

    时常可以在各种论坛 博客 看到 各种所谓的 高仿QQ. 说实话 越看越想笑呢.(PS:纯粹的 抨击 那些 不追求 UI 完美主义者) 例如:       本次模仿 采用 C# WPF XAML , 总 ...

  9. WPF C#截图功能 仿qq截图

    原文:WPF C#截图功能 仿qq截图 先上效果图 源码下载地址:http://download.csdn.net/detail/candyvoice/9788099 描述:启动程序,点击窗口butt ...

随机推荐

  1. log4net日志信息 插入 mysql数据库?

    log4net配置文件如下: <!--插入数据库--> <appender name="AdoNetAppender_MySql" type="log4 ...

  2. 开发工具及服务年度大奖评选 I Bugtags 荣获最具成长潜力奖

    作为全球最大中文 IT 社区和服务平台.中国最大技术管理者平台的 CSDN 在中国北京总部举办了一场 2015 年开发工具及服务年度大奖评选活动,此次活动目的在于推动开发服务及工具质量的提升,提高行业 ...

  3. 如何让python程序运行得更快

    原则1:不优化 原则2:不要优化那些不重要的部分(否则会降低可读性) 解决方案: 1. 使用函数,局部变量比全局变量快很多.尽量使用函数,如main() 2. 有选择性的消除属性访问. 如多用 fro ...

  4. play framework (一)

    Playframework--像玩一样编程, 传说中有了它,放个猴子在电脑前都会编程了! http://developer.51cto.com/art/201202/320053.htm http:/ ...

  5. golang 移动应用例子 example/basic 源码框架分析

    条件编译 我们在源码中可以看到2个文件: main.go 和 main_x.go 这两个包名都是 package main , 都有 main 函数. 不会冲突么? 答案是不会的, main_x.go ...

  6. Django – query not equal

    The simpliest way to retrieve data from tables is take them all. To do this,  you can write: 1 all_e ...

  7. OpenCV数据结构:CvMat,IplImage,CvArr的应用

    最近看HS算法时,发现在新的OpenCV3.0已经移除了该算法,于是不得不看老版的.这其中涉及到了CvMat,CvArr,IplImage的使用.关于这三个结构与Mat的转换关系,总结如下: (1)派 ...

  8. locals()函数访问当前还在作用范围内的局部变量

    >>> element = 'silver' >>> number = 47 >>> 'Element {number} is {element} ...

  9. JMeter的定时器

    JMeter的十种定时器 先明确一些概念:1)定时器是在每个sampler(采样器)之前执行的,而不是之后,不管这个定时器的位置放在sampler之后,还是之前.2)定时器是有作用域的:当执行一个sa ...

  10. java中高级软件工程师面试总结

    最近去了几家公司面试java中高级工程师,打击挺大的,感觉自己一直以来没有很好的深入学习,对各种知识都是一知半解,但心又太高,想找更高薪的职位,结果面试屡屡碰壁,哎,心情好低落,也是时候静下心来,好好 ...