Final Project
——效率工作
相信许多同学都用过番茄,MicroSoft Todo等等这类计划工作类的软件,虽然说这些东西对你的学习效率是否有提升还取决于你的个人因素,但如果你拥有一款界面美观,响应流畅,使用方便的这类软件的话,那就另当别论了。
至于功能方面,我们的应用计划实现如下功能:
§ 计时功能:类似同类产品的计时功能,考虑到UWP应用的后台局限性,可能无法做到在关闭后依然保留进程计时,因此只能停留在前台计时。
§ 待办事项:可以选择日历日期并添加待办事项,并每天在磁贴界面提醒(有关磁贴界面的操作现在还不成熟)
§ 添加备忘:可以添加备忘,并设置备忘的格式,将备忘展示为标签样式,并且标签样式可以自定义(并考虑在锁屏界面展示)
我们的应用主要特色表现在以下方面:
§ 界面美观:尽量使用平面化的几何图形与路径,少使用图像资源,多引入位图为用户准备多套皮肤,并针对AMOLED屏幕制作特别的黑色主题(省电)
§ 响应流畅:结合XAML的特点,使用MVVM模式,分离界面效果和后台逻辑便于后期扩充功能,极致使用数据绑定(优先编译绑定,其次普通绑定,但在模板中似乎只能使用普通绑定),充分发挥C#性能(毕竟是Windows的亲儿子)。
§ 使用方便:小组成员首先结合自身习惯考虑,设计出最初版本,然后请同学试用,并改进。
下来来看看我们应用的整体设计(当然,这只是一个最初版本):
每个具体功能设计一个Page,通过Frame在不同Page间导航
计时界面大致按照如下设计进行
待办事项的锁屏提醒大概向这种效果,因为具体后台如何更新磁贴,或者发送锁屏更新通知还没有试验过,所以无法得知具体细节实现。
待办事项内部大致按照如下UI制作,用自定义的ListView控件承载待办事项,为每个代办对象实例创建一个CustomeControl(其实可以直接用控件拼起来,但这样就无法有效切换皮肤即应用模板)
在底部可以加如最下方所示的迷你状态的CommanderBar,并通过这个全局的CommanderBar完成诸项功能的切换。
磁贴界面如图所示,就像下方红框那种效果,在磁贴上提醒待办事项的相关信息。
下面是我们项目的技术支持:
§ 界面需要:
§ 首先,为了页面切换流畅,控件响应人性化,需要使用大量的Storyboard进行状态之间的转换与过渡。
§ 其次,为了界面轻量,可能需要大量使用GDI+画图(但是考虑到UWP全平台的特性,为了支持非Win32平台,使用path相关操作可能好一些)。
§ URL:
http://www.w3school.com.cn/svg/index.asp
§ 定时功能:需要使用多线程有关知识,如Dispatch.Timer等,还有就是后台进程及一些异步操作。
URL:
§ 待办事项:需要使用多线程有关知识,如Dispatch.Timer等,还有就是后台进程及一些异步操作。
§ 添加备忘:需要一些RichTextBox相关的操作,包括对RichTextBox的模板自定义(别以为这很轻松,有些系统模板可是有上千行的Xaml的),还需要对Windows的锁屏机制有所了解。
URL:
https://www.cnblogs.com/zhxilin/p/4923600.html
采访URL