做为一个刚刚接触C#和XAML的新手,首先就是要搞清楚这两者之间的关系。XAML的中文名称为可扩展应用程序标记语言,而C#则是运行于.NET Framework之上的高级程序设计语言,能够理解为使用XAML制做UWP的用户使用界面,而使用C#来完成内部的逻辑实现。程序员
简单类比QT应该就是.ui文件和.cpp文件区别。可视化程序设计我只接触过QT,对于网站设计并不了解,因此对于XAML这种相似于HTML的标记语言不熟,还须要加紧学习。编程
在看完大部分XAML控件后,和我以前接触的QT进行对比,我发现大部分的特性都很相似,好比说在设计时界面与内部实现分开,所见即所得等。但对于XAML我发现了不少有趣的地方。windows
首先就是最令我感到奇怪的一点,就是我没有找到UWP在电脑端对鼠标图标的改变,例如在QT中,咱们能够经过设置这样一个属性工具
来使得鼠标在移向该按钮后变为手指标识,但在UWP中我没有看到按钮有这样的属性,在我使用的网易云音乐中鼠标也没有变化,一直是处于箭头状态,因此不少时候都不清楚一些按钮可否点击。我猜想是由于其跨平台的特性,在移动端以及穿戴式设备上不须要这方面的功能。但我以为对于已经养成习惯的计算机用户来讲,是有些不习惯的。学习
其次就是MediaElement & MediaPlayerElement这两个控件,看介绍是说一个旧一个新,但MediaPlayerElement有什么新的特性我并无找到,也并不清楚是从头实现了一个新类仍是只是将原来的MediaElement改了名字,不过相信微软这么作必定是有一些道理的。网站
但这个控件自己功能是很是强大的,播放器的基本操做都包含了进去,在QT中若是实现一个差很少功能的控件须要的代码量会很大,而在UWP中仅仅须要一行代码就能够新建一个播放器。这一点是其余可视化编程平台作不到的,但这也引发了一些问题,好比说在QT中我能够定制出一个和其余全部人都不一样的个性播放器,而UWP中不知道是否有方法将MediaPlayerElement进行修改,在接下来的学习中我会仔细考虑这个事情。ui
对于ParallaxView,我第一感受就是炫酷,至关于直接将图片设置为按钮的背景,同时在用户下滑时还会自动显示图片剩余部分,整个界面瞬间变得高大上了起来,若是有好看的界面相信不少人会摒弃原来单调的背景。spa
而后是pivot这个东西,这个东西很相似QT中存放控件的QStackedLayout,能够存放不少其余控件,根据用户的需求显示不一样的界面。原来我认为这个是必须显示title的设计
然而在亲自实现后才发现若是不设置title和header时,默认是和QStackedLayout同样没有任何显示的。3d
最后是XAML的一些全新的控件:
RatingControl:
这个控件感受就是官方钦定了一种给软件或产品打分的方式,为程序员节省了本身编写打分程序的时间,而且比使用数字框更加直观。相信在程序员本身定义打分的图形后,好比说把新型换成笑脸等等会使打分功能更加个性化。
RepeatButton:
看起来和普通按钮相似,但点击鼠标后只要不松开就一直会触发某种事件,和QT中重写了MouseRelease的Button很像。不过有一点不一样的是当鼠标按住并拖动到按钮外时,计数就会中止,这意味着这个按钮不只监控鼠标按下松开事件,而且还监控了鼠标的位置。
InkCanvas:
一个功能十分简单,代码也十分简单的内置画图工具,对于一些须要手写文字或简单画图的场合十分适用。但由于功能太简单,暂时也不清楚拓展性如何,因此对于windows自带的画图工具来讲仍是有些差距。
以上是我比较感兴趣的控件,感受UWP总体上很是适合在PC端编写windows应用,而且据说UWP的程序能够直接在其余平台上如windows phone等直接运行,没必要过多考虑兼容性的问题,相信这也是C#语言崛起的一大缘由吧。