作为一个编程能力不是很好的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可以?)插入图片是个很实用的功能,但图片剪裁什么的,或许可以从一些专业修图的工具上汲取经验加以改善和丰富。个人还认为,ImageViewBox在功能上重复度很高,或许可以合二为一,或者对各自进行性能提升。

ScrollViewer

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

如果从用户的角度出发,这些控件会有许多许多的缺点和不足,但是程序员开发,不仅要考虑用户需求,最重要的是产品需求,我认为XAML Controls Gallery里的大部分控件都已经非常人性化了,我提出的这些对比也可能只是因为我没有花很多的时间去使用然后写专业的感受。在日常生活使用手机和电脑的过程中,我都没有想过大部分controls都需要单独做出来,例如换头像,缓冲圈,毛玻璃效果等等。

 

UWP作业(一)XAML Controls Gallery的更多相关文章

  1. Xaml Controls Gallery 的五个没有用的控件

    HyperlinkButton 功能:这个控件可以实现点击按钮后跳到另一个按钮的功能. 我觉得这个功能有些多余,据我了解,一些深受欢迎的游戏大都具备的一个特点,那就是操作简单,界面中不会出现冗余的东西 ...

  2. Common xaml controls(补交作业)

    Common xaml controls 常见的xaml控件: 先上一段代码,把他们基本都实现出来: <Grid Name="MyGrid"> <Button N ...

  3. M2: XAML Controls

    本小节介绍如何在界面上添加简单的XAML Controls, 本例中我们用到了Grid, TextBlock, Button, 和StackPanel控件.XAML自身所有的控件都声明在Windows ...

  4. 求解: Windows Phone XAML Controls 为什么是disable状态?

    问题 : 我在做一个windows phone 的App,显示一个web 返回来的data,现在想用控件ListView 去绑定这个Data,但是 为何我的VS2012 中的 ToolBox 的XAM ...

  5. Windows 10开发基础——VS2015 Update1新建UWP项目,XAML设计器无法加载的解决

    这次,我们来解决一个问题...在使用Visual Studio 2015 Update 1的时候,新建一个UWP的项目,XAML设计器就会崩,具体异常信息如下图: 解决方法如下:下面圈出的那个路径就按 ...

  6. New UWP Community Toolkit - XAML Brushes

    概述 上一篇 New UWP Community Toolkit 文章中,我们对 V2.2.0 版本的重要更新做了简单回顾.接下来会针对每个重要更新,结合 SDK 源代码和调用代码详细讲解. 本篇我们 ...

  7. M2: XAML Controls(2)

    在前小节中,我们在Card程序的主界面中加入了简单的XAML控件, 本小节将在其基础上进行优化,使界面看上去更加美观.本小节用到了Grid Control, Border Control,以及XAML ...

  8. UWP作业(二)A Mobile App

    看到给出的十个技术主题,我第一反应就是,对于大部分社交软件来讲,运用到全部这些都并不是什么难题,倒不如谈谈我手机里现有的社交软件中,使用时间最短但(you)是(dian)最(bu)好(hao)奇(yo ...

  9. UWP 在ShellPage.xaml.cs 中导航至其他页面引发System.Exception

    最近有一个需求,需要App监测网络变化,并在网络变化的同时用户,你切网啦,并且导航至一个切网的特定页面. 和Android.iOS的小伙伴后共同发现,人家有一个类似”拦截器“的框架,可以拦截App发出 ...

随机推荐

  1. python类的动态属性设置

    需求:根据入参,动态添加设置类的属性 实现: self.__setattr__ self.__getattribute__

  2. 多个Gesture响应原理

    默认情况下,一个响应链上只能响应一个Gesture,不过每个Gesture都可以设置一个delegate,当某个gesture的代理方法shouldRecognizeSimultaneouslyWit ...

  3. python运行时参数m的作用

    不加m时,当前目录是py文件的所在目录 加m时,当前目录就是当前目录

  4. docker的安装和简单配置

    docker的安装和简单配置 docker是balabalabala...懒得介绍. 国内安装docker很蛋疼,按照官方配置好了软件源之后,几十MB的安装文件下载要半天,没办法,docker默认的软 ...

  5. ssh命令详解

    1.简介: Secure Shell(缩写为SSH),由IETF的网络工作小组(Network Working Group)所制定:SSH为一项创建在应用层和传输层基础上的安全协议,为计算机上的She ...

  6. vue之表单输入绑定

  7. eclipse打包java项目

    参考链接:https://blog.csdn.net/heshushun/article/details/78039801

  8. superset在 centos 7安装运行

    参考:1.http://blog.csdn.net/u014729236/article/details/76302888?locationNum=2&fps=1 2.https://www. ...

  9. Tensorflow学习笔记2019.01.03

    tensorflow学习笔记: 3.2 Tensorflow中定义数据流图 张量知识矩阵的一个超集. 超集:如果一个集合S2中的每一个元素都在集合S1中,且集合S1中可能包含S2中没有的元素,则集合S ...

  10. CV迅速发展