UWP作业(一)XAML Controls Gallery
作为一个编程能力不是很好的uwp初学者,在控件库里看到种类繁多的选项时,需要查资料,最后决定出几种性能各方面可能不是那么出色的控件,内心也是非常纠结的。但当我把自己当成一个用户时,通过分析自己的需求,我认为任何一个控件的产生都不是没有道理,在某种特定的情况下,我们确实需要更加精确的控件,但是一般情况下还是以简单易操作为主,于是我选择站在“不批判但对比”的角度来说说我自己的看法,仅基于理论与个人理解。
Button&RepeatButton
之所以选出Button,并不是因为我有多么了解它,除却在英文课和可视化课程当中接触到它,我几乎很少用到这个单词,但纵观了整个控件库以后,我看到还有RepeatButton等一些“按钮”,于是我进行了资料筛查,发现了他们之间一些功能上的差异。RepeatButton:按住后会重复触发 Click 事件的按钮,Button 的 ClickMode 默认为 Release,而 RepeatButton 的 ClickMode 默认为 Press。刚开始写这个副标题时,由于查到的资料有限,我认为可以用Button代替RepeatButton,但随着资料越来越多,我个人以为他们可以用在不同的情景下,例如Button就比较适合我这种初学者来练手适应新的一门语言和登陆界面什么的需要单机的时候,但RepeatButton可能更多的可以用于大型编程,比如游戏或者网页,我在考虑一些需要鼠标单击蓄力的游戏,是不是就用到RepeatButton这种“按钮”或者思想?

TimePicker
TimePicker是一个让用户或代码来设置时间的控件,而设置的时间也只是一个static display,不会更新以显示当前时间。不仅如此,在搜索TimePicker时,我发现在MSDN上有任何我有同样的疑惑,为什么要专门设计一个用以设置静态时间显示的控件,但随之我也发现了解答,“您可以使用TimePicker让用户在您的应用中设置时间,例如设置提醒。TimePicker显示小时,分钟和上午/下午三部分。这些部件易于通过触摸或鼠标使用,并且可以通过多种不同的方式进行设计和配置”,虽然不是很懂为什么要因此设计,但我猜测,或许我们日常使用的闹钟就是运用了这个控件类似的东西?

StackPanel&Grid
我本来是没有想过要将StackPanel写进这篇随笔的,但是今天下午刚刚上完的课上,老师介绍到了这个,并和Grid一并出现,还向我们讲解了它们二者之间的可替代性,既然如此,我觉得是可以用Grid替代StackPanel的,因为对于我本人而言,我是比较倾向于Grid,它给我的感觉就是更加便于设计,虽然StackPanel的编程好像更加有规律可循(在我这种并没有什么编程基础的人看来)。


Image&ViewBox
Image这个控件,我本来凭名字猜测它是个很不错的插入图片的东西,但是仔细的体验了一下微软官方的操作(Image Stretching),类似于None,Fill等,它仿佛仅仅是一个P图软件的作用,甚至比不上,也不能说它鸡肋,因为就我的水平而言也并没有在库里找到其他能替代它的(或许MediaElement可以?)插入图片是个很实用的功能,但图片剪裁什么的,或许可以从一些专业修图的工具上汲取经验加以改善和丰富。个人还认为,Image和ViewBox在功能上重复度很高,或许可以合二为一,或者对各自进行性能提升。


ScrollViewer
虽然不太清楚别人对这个控件的定位是什么,但在我心里它不是没用,它只是简单的不好用,时常我们在翻朋友圈或者微博时都会想要看清他人发的图片的细节,只需要双击左右拖动就可以做到的事情,在ScrollViewer里却需要调许多东西来控制方向然后选择左右之类的,然后还不能到达自己想看的细节之处。刚开始,在我多次尝试各种mode后,我发现它的图片拉大拉小后所在的位置也不定(mode设定完全相同的情况下),有时缩到最小,图片会闪现在左上方,有时缩到最小,图片会出现在右上方,不太懂这是什么操作(测试十几次后觉得好像和停留的点有关,说不好,好像能把握住,又好像没什么规律)


如果从用户的角度出发,这些控件会有许多许多的缺点和不足,但是程序员开发,不仅要考虑用户需求,最重要的是产品需求,我认为XAML Controls Gallery里的大部分控件都已经非常人性化了,我提出的这些对比也可能只是因为我没有花很多的时间去使用然后写专业的感受。在日常生活使用手机和电脑的过程中,我都没有想过大部分controls都需要单独做出来,例如换头像,缓冲圈,毛玻璃效果等等。
UWP作业(一)XAML Controls Gallery的更多相关文章
- Xaml Controls Gallery 的五个没有用的控件
HyperlinkButton 功能:这个控件可以实现点击按钮后跳到另一个按钮的功能. 我觉得这个功能有些多余,据我了解,一些深受欢迎的游戏大都具备的一个特点,那就是操作简单,界面中不会出现冗余的东西 ...
- Common xaml controls(补交作业)
Common xaml controls 常见的xaml控件: 先上一段代码,把他们基本都实现出来: <Grid Name="MyGrid"> <Button N ...
- M2: XAML Controls
本小节介绍如何在界面上添加简单的XAML Controls, 本例中我们用到了Grid, TextBlock, Button, 和StackPanel控件.XAML自身所有的控件都声明在Windows ...
- 求解: Windows Phone XAML Controls 为什么是disable状态?
问题 : 我在做一个windows phone 的App,显示一个web 返回来的data,现在想用控件ListView 去绑定这个Data,但是 为何我的VS2012 中的 ToolBox 的XAM ...
- Windows 10开发基础——VS2015 Update1新建UWP项目,XAML设计器无法加载的解决
这次,我们来解决一个问题...在使用Visual Studio 2015 Update 1的时候,新建一个UWP的项目,XAML设计器就会崩,具体异常信息如下图: 解决方法如下:下面圈出的那个路径就按 ...
- New UWP Community Toolkit - XAML Brushes
概述 上一篇 New UWP Community Toolkit 文章中,我们对 V2.2.0 版本的重要更新做了简单回顾.接下来会针对每个重要更新,结合 SDK 源代码和调用代码详细讲解. 本篇我们 ...
- M2: XAML Controls(2)
在前小节中,我们在Card程序的主界面中加入了简单的XAML控件, 本小节将在其基础上进行优化,使界面看上去更加美观.本小节用到了Grid Control, Border Control,以及XAML ...
- UWP作业(二)A Mobile App
看到给出的十个技术主题,我第一反应就是,对于大部分社交软件来讲,运用到全部这些都并不是什么难题,倒不如谈谈我手机里现有的社交软件中,使用时间最短但(you)是(dian)最(bu)好(hao)奇(yo ...
- UWP 在ShellPage.xaml.cs 中导航至其他页面引发System.Exception
最近有一个需求,需要App监测网络变化,并在网络变化的同时用户,你切网啦,并且导航至一个切网的特定页面. 和Android.iOS的小伙伴后共同发现,人家有一个类似”拦截器“的框架,可以拦截App发出 ...
随机推荐
- Vsftpd服务重启、暂停命令
VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全. 在使用Vsftp服务是经常需要启动.停 ...
- Idea安装svn插件
1. 首先要注意:TortoiseSVN在安装的时候没有command line,在安装TortoiseSVN时,要支持Idea需要点击叉的下拉单,选择will be installed local ...
- VUE页面渲染问题
<!DOCTYPE html> <html> <head> <script src="./vue.min.js"></scri ...
- zookeeper第一篇
它是一个为分布式应用提供一致性服务的软件, 提供的功能包括:配置维护.域名服务.分布式同步.组服务等.
- ubuntu安装rabbitmq(转)
查看ubuntu当前版本命令: cat /etc/issue 由于rabbitMq需要erlang语言的支持,在安装rabbitMq之前需要安装erlang,执行命令: sudo apt-get in ...
- Chen qiaoqiao Studio
Welcome here! If you need any help, please contact us. Contact info Email: lovey_kids@163.com
- 复杂JSON对象的查询与合并
一个表里存放了全国各地地区.省.市.县区的数据,为了提高加载速度我保存成了本地的JSON文件 结构大致如下: [{ "text": "中华人民共和国", &qu ...
- Mutex对象
案例一 举一个例子,设计模式中的单例模式,记得当时做机房收费系统的时候就用的单例模式防止一个界面被实例多次,而Mutex对象能达到同样的效果,防止界面被实例化多次,起到控制线程的作用. 案例二 如果大 ...
- day53 鼠标事件 键盘事件 及JQuery
复习 // 语法: ECMAScript 操作: DOM BOM // 1.类型转化 // 转数字: +"3.14" | parseInt("123abc") ...
- hibernate NUMBER 精度
通过Hibernate映射实体时会根据数据库中NUMBER类型的精度,生成相应的POJO类中相对应的主键类型.经过亲测结果如下: NUMBER(1) POJO类中生成的是Boolean publicc ...