UWP学习(一)--Talking about 5 Controls
1. InkCanvas
由于在上个学期刚使用Java开发过画板小软件,所以这个控件在我心中变得醒目。这是一个墨水画布控件,对于用户来说:画布仅提供简单基础功能,画笔颜色仅能选择四种基础颜色!硬伤在于不能撤销画笔,不能使用橡皮擦,想后悔?Clear All..高亮开启功能显得鸡肋,似无用武之处。
对开发者来讲:对想开发画板的程序员,该画布基础功能的实现确是减少了开发者不少的前期工作量,但刚开始觉得该控件只是在canvas上增加了基础画板功能,并没有替他高层的特性。因此产生偏见:微软团队相比开发这样一个鸡肋的控件,不如把本来的canvas控件做强做好。
查阅资料后,发现inkcanvas在canvas基础上提供了接收手写笔开发的输入以及对Strokes的特定默认属性(即每次用户的输入都会变成一个Strokes对象),这点对于画笔工具,提供了极大方便。
结论:高级画板工具开发者,instead of Canvas, pls choose InkCanvas.
2. PasswordBox
这是一个真正令我make no sense的控件。
见下图:
该控件功能一目了然,即实现密码的保密输入。但蹊跷之处在于右端的眼睛按钮的检查提示。它使用方式是:长按提示,密码可显示,以检查密码是否输入正确。这种设计模式是好的,它隐藏了一个很人性化功能:给不熟悉自己密码的人以明文输入。日常生活中,有人经常会记不牢自己密码,会选择明文输入自己密码。但是这个眼睛按钮必须持续按住才会明文显示输入的密码,按钮松开即变为密文。也就是说,对于想明文输入密码的用户必须点一下按钮输几个密码字符,再点提示按钮,再...
好的设计理念,变为错误实践后的扭曲。若索性指定密文输入,为何还暴露密码位数?
3. ToggleButton
此控件与toggleSwitch有一摸一样的功能。换句话说,它们的唯一区别大概是在样式上了。对设计来说,后者更具有自然美学属性,如其名,像一个真正的switch。由此,toggleButton,在switch控件对比下显得相形见绌了。
4. ProcessRing
我觉得人类对某种心理活动是尤为敏感以至于会焦虑恐惧--没底。
微软这个富有标志性的processbar将人类“心里没底”这个消极心理反映得尤为具体。不过要先说的是,之所以富有标志性,其设计理念是很优美的。这种圆点旋转依次的滞后性甚能反映出加载的等待过程,不得不说微软的UI设计师脑洞还是相当了得。
但是好的设计理念再一次被实践为扭曲品。
唯一想说的一点建议就是:加上计时的接口(短时加载不需要提示,不使用该接口便是)。
理由:虽然并不是所有进度加载都需要数字化显示,进度显示不能完全反映一个进程的执行情况。有可能一个程序加载到90%,却只花了两分钟,另一个程序加载到了20%却已经花费两小时。而以我的使用经验,微软经常把此控件使用在长时加载的进程中,比如系统更新。倘若我想知道我进行了多长时间?(经常会有自启动的程序以至于你不知它何时开始,还是比如系统更新)
如果能在转圈中心加上计时器(比如转10圈,timer+1,以数字形式显示在中心),我便对进程已加载的时间有了解,以判断决定自己下一步的操作(你不想浪费时间了,想立即停止)。解决了心里没底之恐惧。
5. Hub
我觉得一个精致的控件应具备的条件是:在万千素材大集合中,选出的那些特征最小子集。比如没有能替代Button、Image、TextBox的控件。而Hub这个控件给我的感觉便是微软DIY的一个小UI,还达不到作为一个常用控件来引用的广度。使用各类控件的目的,就是增加开发人员的自定义程度,而此控件减小了可自定义的程度,把开发思路限制在这样一个既成的设计模式上。
利用其他控件组合完全可以实现Hub这一控件,由此,它便不是一个特征最小子集。就像化学元素有限定的数量一样,我觉得优秀的控件也应有限定的数量,不应该妥协地拼凑。如果控件开发人员时怀居里夫人那种不断探索与进取的精神,我相信UI界会更显活力与精彩。
UWP学习(一)--Talking about 5 Controls相关推荐
- UWP学习——Plan final project(线下版)
好玩游戏之--狼人杀 一款多人参与的.以语言描述推动的.较量口才和分析辨别能力的策略类桌面游戏. 在此之前我们已经做好了一个线上版的plan,但是在咨询了老师后,我们觉得线上版的app以我们现在的项目 ...
- 领域驱动和MVVM应用于UWP开发的一些思考
领域驱动和MVVM应用于UWP开发的一些思考 0x00 起因 有段时间没写博客了,其实最近本来是根据梳理的MSDN上的资料(UWP开发目录整理)有条不紊的进行UWP学习的.学习中有了心得体会或遇到了问 ...
- 如何将GridViewEX升级到UWP(Universal Windows Platform)平台
引言 上一篇文章中,我们主要讲解了如何在保证GridView控件的用户体验基础上,扩展GridView生成GridViewEx控件,增加动态添加新分组功能等,本文在上文的基础上,介绍如何在Window ...
- linux下从git获取有权限的代码,linux下从源代码安装git
之所以有这样的需求,是因为部分预安装的git版本太低,很多功能没有并且安全性存在问题. 比如git submodule add xxx@host:yyy.git必须在父repo的root目录安装,而新 ...
- Charting Basics制作图表的基本知识
Understanding Data Point, Its Argument and Value 理解数据点,自变量和因变量(参数和值) WinForms Controls > Controls ...
- 人工智能的应用现状_AI的应用状况
人工智能的应用现状 Applied AI continues to accelerate, largely fueled by the maturation of tooling and infras ...
- win10 UWP Controls by function
Windows的 XAML UI 框架提供了很多控件,支持用户界面开发库. 我现在做的一个中文版的,很多都是照着微软写,除了注释 我们先学微软做一个简单的frame,新建Page,里面放title和跳 ...
- AForge学习笔记(2):AForge.Controls
作者:GAO-XIANG 转自:http://blog.csdn.net/xiang__jiangsu/article/details/8120414 首先我们在VS2010中添加AForge.Con ...
- 《Qt5 Cadaques》学习笔记(六):QT QUICK Controls 2
6.1 控件简介 从头开始使用 Qt Quick 为您提供了基本的图形和交互元素,您可以从中构建用户界面.使用 Qt Quick Controls 2,您可以从一组稍微结构化的控件开始构建.控件范围从 ...
最新文章
- TabLayout的指示器长度 的问题
- Rust基础笔记:Getting input from the console
- 用户重要数据转移方法〖罗斌个人工作经验谈〗
- 基于Laravel开发博客应用系列 —— 构建博客后台管理系统
- centos yum安装时出现 cannot find a valid baseurl for repo: addons
- 引入科研院所中科微研携手-林裕豪:从玉农业谋定农业大健康
- 收藏 | Redis 超详细总结笔记总
- FullCalendar 四:FullCalendar应用——新建日程事件
- java在底层捕获异常_Java正确捕获异常的真实类
- 瑞星力荐金山毒霸 原来是广告程序 作崇
- 基于FPGA 的CRC校验码生成器
- 【报告分享】2021年中国网络文学出海报告-艾瑞咨询(附下载)
- 大数据分析的学习感悟
- qt 富文本 html,Qt富文本编辑器QTextDocument
- 天天淘宝,你却不知道个性化推荐技术...
- 设计模式——做软件的必学课程
- 谷歌收购摩托罗拉移动扫清障碍:获专利盾牌
- 计算机网络的互联形式有哪些,计算机网络互连
- Proe(Creo)如何做剖面图
- Linux常用的文本文件操作命令