1. 前言
WPF(Windows Presentation Foundation),即“Windows呈现基础”,它的目的非常明确,就是用来把数据“显示”给用户看的(说白了就是用来做UI的)。接下来将会介绍一个小项目,用WPF来实现模拟手机界面设计。

2. 实现的功能
本项目模拟手机界面,实现了如下几个功能:

  • 滑动解锁
  • 顶部状态栏显示
  • 查看系统时间
  • 附有背景以及应用图标的界面及切换
  • 点击日历图标跳转到显示日历的界面
  • 点击锁屏图标进入滑动解锁状态

3. 效果展示

  • 滑动解锁、顶部状态栏显示 、查看系统时间

    实现情况:
    1.实现了仿苹果手机的滑动解锁效果,同时滑动解锁模块上面的文字具有动画效果。当滑动解锁箭头滑动长度不足进度条的一半则箭头回到起点,超过一半解锁成功。
    2.在屏幕顶部显示状态栏,在锁屏界面实现显示系统时间的功能,能够实时显示系统时间。

  • 附有背景以及应用图标的界面及切换

    实现情况:
    1.每个页面必须设置一个背景图片,每个图标必须有自己的图像。
    2.点击页面下方的左右箭头可以实现两个界面之间的顺序切换,点击中间的home键则返回主界面。当界面切换时,具有仿苹果手机的翻页效果(淡入淡出的动画效果),同时可以通过底下的圆点的颜色来判断当前所在界面。

  • 模拟Icon的事件响应

    实现情况:
    1.部分应用图标点击事件,能够跳转到指定界面。点击日历则能够显示日历。点击锁屏的应用图标能够进入滑动解锁的状态。

4. 部分功能代码分析

  • App.xaml

    程序启动的地方,其实是在程序的App.xaml文件里面:StartupUri=”Window1.xaml“这个就是程序的入口点,运行程序之后,我们就将window1显示在了显示屏上。

  • Window1.xaml

    Page是我们真正的Ui,而NavigationWindow不过是为我们提供了一个框架,Page是附在上面的。因为VS2010不能直接创建NavigationWindow和Page相关的项目,所以我们要自己修改。首先创建一个WPF应用程序,在后台将继承的Window类改为NavigationWindow类。然后在XAML中同样将< window………标记改为NavigationWindow。NavigationWindow上不能有任何控件。。。包括Grid等。。。。记住现在我们的UI是Page。新建Page,在上面随便画画。然后将NavigationWindow.Source设为默认页面(Default Page)。即将主窗体的XAML里NavigationWindow的Source属性设为Page的名字,就OK了。另外Page之间的切换也是很简单方便的。NavigationService.Navigate(newUri(“XXXXX.xaml”,UriKind.Relative)); XXXXX为Page的名字。

  • Window1.xaml.cs

    为Page增加淡入淡出(Fade)效果:
    Window1继承自NavigationWindow,那么显然抓住Navigating事件不放,做如下操作:
      取消当前Navigate请求,如果有当前页的前提下。
      淡出当前页,如果有当前页的前提下。
      完成淡出过程后Navigate到目标页。
      淡入目标页。

  • Slide.xaml

    用于显示背景图片。

  • Slide.xaml.cs


    完成滑动解锁功能。


完成显示系统时间的功能。

  • Slide.xaml
  • RepeatBehavior:获取或设置此时间线的重复行为。Forever循环动画
  • DoubleAnimation:它在指定的持续时间内将动画从指定的起始值继续到指定的目标值。
  • From,To:动画开始到结束变化的值

  • Slide.xaml.cs

    实现了滑动解锁成功切换到主界面的功能。

  • index.xaml


    实现页面切换以及页面底部显示页面切换状态的圆点。

5. 下载链接
http://download.csdn.net/download/qq_22408539/10185109

使用WPF技术模拟手机界面相关推荐

  1. WPF技术触屏上的应用系列(二): 嵌入百度地图、API调用及结合本地数据库在地图上进行自定义标点的实现...

    原文:WPF技术触屏上的应用系列(二): 嵌入百度地图.API调用及结合本地数据库在地图上进行自定义标点的实现 去年某客户单位要做个大屏触屏应用,要对档案资源进行展示之用.客户端是Window7操作系 ...

  2. 使用微软WPF技术开发产品优势究竟在那里

    2008年在世界经济历史上是一个不平凡的一年,在这一年中,美国的五大投资银行有两家破产.金融危机席卷全球,美国的失业率在过去的一年从4%飙升到了10%,有些城市的失业率甚至高达20%:加拿大的就业数字 ...

  3. WPF技术触屏上的应用系列(三): 视频播放器的使用及视频播放、播放、暂停、可拖动播放进度效果实现...

    WPF技术触屏上的应用系列(三): 视频播放器的使用及视频播放.播放.暂停.可拖动播放进度效果实现 原文:WPF技术触屏上的应用系列(三): 视频播放器的使用及视频播放.播放.暂停.可拖动播放进度效果 ...

  4. C#——《C#语言程序设计》实验报告——数据库编程——基于ADO.NET技术和WPF技术的简单数据库可视化工具DEMO

    一.实验目的 掌握ADO .NET数据离线与在线访问模型: 掌握应用LINQ进行数据查询: 继续应用WPF技术进行界面编程. 二.实验内容 使用提供的Northwind.mdb数据库,利用DataGr ...

  5. firefox+android+平板,Firefox模拟手机浏览器(iOS+Android) – UserAgent Switcher使用方法...

    前两天还讨论了利用Chrome来模拟iOS和Android手机浏览器的方法,今天换成一款同样非常热门的Firefox浏览器,看看它是如何实现模拟手机浏览器的.这里强烈推荐大家使用UserAgent S ...

  6. 如何学习WPF技术?

    本文由长沙DotNET技术社区[邹溪源]整理,共有7544字,阅读需耗时15分钟. 引言 在桌面开发领域,虽然在某些领域,基于electron的跨平台方案能够为我们带来某些便利,但是由于WPF技术能够 ...

  7. 精美的手机界面设计素材和线框图设计工具推荐

    在制作界面原型的时候,如果有现成的界面基础元素可以使用的话,设计师就可以非常快速的完成原型的制作,能够节省大量的时间和精力.在这篇文章,我向大家分享45套非常有用的 UI 和 Wireframe 套件 ...

  8. 23套新鲜出炉的网站和手机界面 PSD 素材

    Web 用户界面,移动用户界面和线框套件对设计师很有用,因为这些套件让他们使用快速和有效的方式复制用户界面.这些类型的工具包提供了一个基本的用户界面元素,用于它们需要制作的网站或软件模型. 在这篇文章 ...

  9. php判断电脑浏览器模拟手机访问网页,在PC上测试移动端网站和模拟手机浏览器的5大方法...

    查了很多资料,尝试了大部分方法,下面将这一天的努力总结下分享给大家,也让大家免去看那么多文章,以下介绍的方法,都是本人亲自测试成功的方法,测试环境winxp. 一.Chrome*浏览器 chrome模 ...

最新文章

  1. Fragment 使用 replace 的方式实现切换 以及切换的时候Fragment 生命周期
  2. 变而不变:我看分布式系统发展和阿里实践
  3. Centos7安装netstat及简单使用
  4. android java广播,[原]Android应用程序发送广播(sendBroadcast)的过程分析
  5. OpenCV 中的图像处理 004_平滑图像
  6. java时间日期工具类_java工具类--日期相关;
  7. gcc操作mysql 建表_用gcc批量建mysql库表
  8. [NOIP]2017列队——旋转treap/非旋转treap
  9. BZOJ 1619: [Usaco2008 Nov]Guarding the Farm 保卫牧场
  10. OA软件详细功能模块列表
  11. 原来这就是公文写作领导讲话稿万能模板(1)
  12. 如何解决切换双系统导致windows没声音的问题
  13. 二级计算机合格,计算机二级考试合格的分数线
  14. (附源码)ssm市级疫情防控管理 毕业设计 030957
  15. FileZilla下载文件失败 local: unable to open C:/xxx/xxx
  16. Kotlin入门-数据类与密封类 的解脱,由繁至简
  17. 使用 hugo oss 搭建个人博客网站
  18. TEM和CWEM的优缺点
  19. 微博内容爬取——陈一发儿微博实例
  20. ad自动连线_AD19如何使用强大的自动布线功能

热门文章

  1. 实验11-1-4 计算最长的字符串长度-自己的平地摔
  2. 高中会考计算机都考啥,高中会考都有哪些科目
  3. DirectX是什么
  4. 基于vue+spring的博客系统
  5. Mac:was built for newer OSX version (10.15) than being linked (10.14)
  6. 在scrapy中params无处安放???
  7. 新坑首发《每晚一个恐怖的IT技术学习小故事》让我们一边学习技术,一边体验恐惧吧~
  8. windowsserver2016安装
  9. UVP Phase运行机制的补充-Phase 的raise和drop机制
  10. Chrome浏览器及调试教程