自行学习XAML控件后的简单想法(作业一)

由于自身专业水平的欠佳,我对于XAML控件的学习并不深刻,只在简单了解过后产生了一二想法,也许十分荒谬,就减省地谈谈。以下五种控件,是我在学习后,并不十分看好或有所疑虑的。

  1. Canves

在浏览XAML Controls Gallery上各种控件的简单介绍时,这个控件引起我注意,它通过坐标轴控制每个内容的分布,是一个用于布局的控件。

首先,这个Canvas控件的展示样例图,让我想起了很多应用中的画面,例如:

                            

然而在我查询相关资料后,我发现Canvas并不支持这样的流体用户界面设计(fluid UI)。而且,我又在官网上读到这样一段话(见上图),我发现以绝对定位为核心的Canvas(我的理解,可能有误),在能承担布局任务的诸多控件中,似乎并不能体现其优势所在,它所能实现的,gird等控件似乎也能轻易实现。从我的角度,并没有发现Canvas独特的用武之地,也许是我缺乏开发经验的缘故。

2.InkCanvas

InkCanvas控件实现了简单的绘图功能,但问题就在于它的简单,甚至不如手机备忘录上的画图功能。也许只有像我这样的菜鸟才会因用上了这样的控件而沾沾自喜,对于真正的开发人员,这只会是一个让人食之无味,弃之可惜的控件,与此相似的还有MediaElement、MediaPlayerElement等控件。

3.TimePicker

               

TimePicker控件提供给用户选定时间的功能,但对用户却不太友好,它有许多或累赘或生硬的设计,譬如取消选项毫无作用,当我用鼠标点到旁边空白处的操作就相当于取消操作。实际上,我认为点到空白处后能等同于确定操作更好,在众多选项中选择正确时间对用户来说相对麻烦,如果因为一些误操作,让之前的操作毫无意义,用户难免烦躁。DataPicker控件也存在同样的问题。

4.ComboBox

  

ComboBox控件是一个选择控件,该控件结合了不可编辑文本框和下拉列表框,允许用户从列表中选择项。它给用户提供了一个很常用的功能,本来开发者发现这个控件会很开心。但如上左图所示,当点开选项列表时用户要选择的属性完全被遮挡,严重影响了此控件的可用性,由此将带来很大不便。

5.CalendarDatePicker

CalendarDatePicker控件为用户提供了日期选择功能,但是如图所示

当所选日期落在7月25日时,选框上方的却显示2018年八月,这会给用户带来很大的误导。用户如果根据下方选框选定时间,且在选择完毕没有对所选时间进行检查,那么他将有可能遭受很大损失。我个人认为这个问题相当严重。

以上是我简单学习XAML控件后的一些想法,错漏之处一定很多,还望指正。

原文地址:https://www.cnblogs.com/alwayson/p/8620849.html

时间: 2024-12-21 17:41:29

自行学习XAML控件后的简单想法(作业一)的相关文章

可视化程序设计基础(一)——XAML控件

作为一个刚刚接触C#和XAML的新手,首先就是要搞清楚这二者之间的关系.XAML的中文名称为可扩展应用程序标记语言,而C#则是运行于.NET Framework之上的高级程序设计语言,可以理解为使用XAML制作UWP的用户使用界面,而使用C#来完成内部的逻辑实现. 简单类比QT应该就是.ui文件和.cpp文件区别.可视化程序设计我只接触过QT,对于网站设计并不了解,所以对于XAML这种类似于HTML的标记语言不熟,还需要加紧学习. 在看完大部分XAML控件后,和我之前接触的QT进行对比,我发现大

Delphi 7学习开发控件(继承TGraphicControl只画一条线)

我们知道使用Delphi快速开发,很大的一方面就是其强大的VCL控件,另外丰富的第三方控件也使得Delphi程序员更加快速的开发出所需要的程序.在此不特别介绍一些概念,只记录自己学习开发控件的步骤.假设我们要开发一个画直线的控件,那么我们从下面开始做:1.菜单栏→Component→New Component,在弹出的对话框中按照提示添加: Ancestor type 父类:TGraphicControl  [Controls]Class Name 类名:TLineToPalette Page

Delphi 7学习开发控件

我们知道使用Delphi快速开发,很大的一方面就是其强大的VCL控件,另外丰富的第三方控件也使得Delphi程序员更加快速的开发出所需要的程序.在此不特别介绍一些概念,只记录自己学习开发控件的步骤.假设我们要开发一个画直线的控件,那么我们从下面开始做:1.菜单栏→Component→New Component,在弹出的对话框中按照提示添加: Ancestor type 父类:TGraphicControl  [Controls]Class Name 类名:TLineToPalette Page

WPF后台设置xaml控件的样式System.Windows.Style

WPF后台设置xaml控件的样式System.Windows.Style 摘-自 :感谢 作者: IT小兵   http://3w.suchso.com/projecteac-tual/wpf-zhishi-houtai-shezhi-style.html Style myStyle = (Style)this.FindResource("TabItemStyle");//TabItemStyle 这个样式是引用的资源文件中的样式名称 静态资源在第一次编译后即确定其对象或值,之后不能对

iOS开发UI篇—使用picker View控件完成一个简单的选餐应用 - 文顶顶

原文  http://www.cnblogs.com/wendingding/p/3771047.html iOS开发UI篇—使用picker View控件完成一个简单的选餐应用 一.实现效果 说明: 点击随机按钮,能够自动选取,下方数据自动刷新. 二.实现思路 1.picker view的有默认高度为162,不可修改. 2.显示数据,需要设置数据源,也有两种方式(成为数据源,遵守协议) 3.实现数据源里面的两个方法 1)返回一共有多少列 2)在这一列中一共有多少行 4.通过代理告诉它那一列的哪

ASP.NET MVC加载用户控件后并获取其内控件值或赋值

有网友看了这篇<ASP.NET MVC加载ASCX之后,并为之赋值>http://www.cnblogs.com/insus/p/3643254.html 之后,问及Insus.NET,不想在控件制器内进行赋值,而是想在视图中使用jQuery来获取用户控件内的控件值或是为它们赋值.那需要怎样来做呢? 下面Insus.NET花上少少时间,做个简单的例子,演示与分享实现的方法. 实现之前,先修改一下AscxUtility.cs这个类中的 public static HtmlString Rende

使用picker View控件完成一个简单的选餐应用

使用picker View控件完成一个简单的选餐应用 一.实现效果 说明:点击随机按钮,能够自动选取,下方数据自动刷新. 二.实现思路 1.picker view的有默认高度为162,不可修改. 2.显示数据,需要设置数据源,也有两种方式(成为数据源,遵守协议) 3.实现数据源里面的两个方法 1)返回一共有多少列 2)在这一列中一共有多少行 4.通过代理告诉它那一列的哪一行显示哪些数据(设置其代理为控制器) 5.使用懒加载,加载所有的食物 6.完成基本数据的展示(列,行,内容) 7.自动更新选中

DevExpress for WPF 使用换肤控件后在其他机器上无法运行问题

本人使用的DevExpress13.2.6的破解版.WPF的 在项目中使用了DevExpress的控件后在其他机器上无法运行,吓我一跳,然后我发现DLL都复制到本地了.这个是什么原因呢? 猜想是DLL引用了其他的DLL,或者是某些DLL需要注册.但是DLL那么多,并不知道是差哪些DLL,总不能全部弄过去吧,那么大.后来找了些资料问了下其他人用这个的问题,他们都说差DevExpress.Utils.v13.2.dll.但是实际上他们是winfrom的 和WPF不一样.根本不适合. 后来我一个个调试

浅谈XAML控件

在win10系统内简单使用了XAML控件,由于本人英语水平有限,在自己的摸索使用.分析代码以及翻译软件.搜索引擎.室友情的帮助下了解了控件的相关功能,下面简要对XAML控件提出几点建议: 1.CalendarView:GregorianCalendar是一个计算函数,是 Calendar 的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统.是一种混合日历.但是这个日历里Calenderldentifier选项栏里点击所有的阴历日历都会导致软件崩溃推出而且当你切换至其他国家再切换回来的