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相关推荐

  1. UWP学习——Plan final project(线下版)

    好玩游戏之--狼人杀 一款多人参与的.以语言描述推动的.较量口才和分析辨别能力的策略类桌面游戏. 在此之前我们已经做好了一个线上版的plan,但是在咨询了老师后,我们觉得线上版的app以我们现在的项目 ...

  2. 领域驱动和MVVM应用于UWP开发的一些思考

    领域驱动和MVVM应用于UWP开发的一些思考 0x00 起因 有段时间没写博客了,其实最近本来是根据梳理的MSDN上的资料(UWP开发目录整理)有条不紊的进行UWP学习的.学习中有了心得体会或遇到了问 ...

  3. 如何将GridViewEX升级到UWP(Universal Windows Platform)平台

    引言 上一篇文章中,我们主要讲解了如何在保证GridView控件的用户体验基础上,扩展GridView生成GridViewEx控件,增加动态添加新分组功能等,本文在上文的基础上,介绍如何在Window ...

  4. linux下从git获取有权限的代码,linux下从源代码安装git

    之所以有这样的需求,是因为部分预安装的git版本太低,很多功能没有并且安全性存在问题. 比如git submodule add xxx@host:yyy.git必须在父repo的root目录安装,而新 ...

  5. Charting Basics制作图表的基本知识

    Understanding Data Point, Its Argument and Value 理解数据点,自变量和因变量(参数和值) WinForms Controls > Controls ...

  6. 人工智能的应用现状_AI的应用状况

    人工智能的应用现状 Applied AI continues to accelerate, largely fueled by the maturation of tooling and infras ...

  7. win10 UWP Controls by function

    Windows的 XAML UI 框架提供了很多控件,支持用户界面开发库. 我现在做的一个中文版的,很多都是照着微软写,除了注释 我们先学微软做一个简单的frame,新建Page,里面放title和跳 ...

  8. AForge学习笔记(2):AForge.Controls

    作者:GAO-XIANG 转自:http://blog.csdn.net/xiang__jiangsu/article/details/8120414 首先我们在VS2010中添加AForge.Con ...

  9. 《Qt5 Cadaques》学习笔记(六):QT QUICK Controls 2

    6.1 控件简介 从头开始使用 Qt Quick 为您提供了基本的图形和交互元素,您可以从中构建用户界面.使用 Qt Quick Controls 2,您可以从一组稍微结构化的控件开始构建.控件范围从 ...

最新文章

  1. TabLayout的指示器长度 的问题
  2. Rust基础笔记:Getting input from the console
  3. 用户重要数据转移方法〖罗斌个人工作经验谈〗
  4. 基于Laravel开发博客应用系列 —— 构建博客后台管理系统
  5. centos yum安装时出现 cannot find a valid baseurl for repo: addons
  6. 引入科研院所中科微研携手-林裕豪:从玉农业谋定农业大健康
  7. 收藏 | Redis 超详细总结笔记总
  8. FullCalendar 四:FullCalendar应用——新建日程事件
  9. java在底层捕获异常_Java正确捕获异常的真实类
  10. 瑞星力荐金山毒霸 原来是广告程序 作崇
  11. 基于FPGA 的CRC校验码生成器
  12. 【报告分享】2021年中国网络文学出海报告-艾瑞咨询(附下载)
  13. 大数据分析的学习感悟
  14. qt 富文本 html,Qt富文本编辑器QTextDocument
  15. 天天淘宝,你却不知道个性化推荐技术...
  16. 设计模式——做软件的必学课程
  17. 谷歌收购摩托罗拉移动扫清障碍:获专利盾牌
  18. 计算机网络的互联形式有哪些,计算机网络互连
  19. Proe(Creo)如何做剖面图
  20. Linux常用的文本文件操作命令

热门文章

  1. php代码计算三角形面积,c语言计算三角形面积代码
  2. picPick使用研究
  3. Django二级域名路由配置方案django-hosts
  4. OpenVR学习01 成功打开了VR设备
  5. tensorflow介绍(转)
  6. python项目二:多种验证码及二维码输出
  7. Android程序员现状:没有架构师的命,却得了架构师的病!
  8. 启动PE系统找不到计算机硬盘,解决方法:如何解决戴尔计算机进入PE系统时找不到硬盘的问题...
  9. PostgreSQL开发规范
  10. 基本算法4.1堆积木详细题解