解析:Silverlight控件模型分类及XAML特性

移动开发
XAML是eXtensible Application Markup Language的英文缩写,中文名称为可扩展应用程序标记语言。它是微软公司为构建应用程序用户界面而创建的一种新的描述性语言。XAML提供了一种便于扩展和定位的语法,用来定义和程序逻辑分离的用户界面,而这种实现方式和ASP.NET中的"代码后置"模型非常类似。XAML是一种解析性的语言,尽管它也可以被编译。它的优点是简化编程式上的用户创建过程,应用时要添加代码等。

XAML是Silverlight应用端采用的语言,在Asp.NET项目中,元素的声明、程序样式的设置和指定事件处理程序都和HTML非常类似,所以,做Silverlight项目的先决条件是要掌握XAML:

使用XAML标记可以创建可见的UI元素,并使用生成的对应的后台文件操作XAML声明的对象。XAML可以说是在XML的基础上加上了特有的属性元素语法以及内容元素语法,再加上它是.Net环境下的产物,所以它的特性可以描述为以下几点:

XAML是以XML为基础的语言扩展;

XAML必须是格式良好的XML;

XAML中的标记对应.Net Framework中的类型。

XAML具备面向对象及继承的特性;

XAML区分大小写;

XAML中能实现的,通过后台代码同样可以实现;

XAML中也创建元素树;

下面是一个使用XAML声明的TextBox元素:

结合XAML的特性从上述代码中可以看出平时写代码时容易出现的错误:

TextBox如果大小写错误,则声明失败

TextBox是Silverlight提供的控件模型,如果拼写错误,则会找不到对应.Net Framework中的类型,报错

x:Name好比HTML中的ID,具有唯一标识性

Margin好比CSS样式语法,控制该控件与周围各元素的间距

标签要求闭合,如果缺少则声明失败

学习XAML是个循序渐进的过程,首先要了解基础语法,才不会在编码中犯低级错误

Silverlight的控件模型

与Winform类似,Silverlight也拥有自身独有的一套控件模型。里面除了TextBox、Button、ComboBox这样的一些基本控件,还包括一些专门为RIA设计的控件,比如Silder、ProgressBar、TabControl。通过使用Silverlight Toolkit工具包,还可以拥有丰富的图表控件。按照控件的功能特性可以分为如下几类:

命令控件:响应来自鼠标、键盘、手写笔或其他输入设备的用户输入。如,Button、RepeatButton。

文本编辑控件:提供编辑或显示文本的控件。如,TextBox、Password。(刚刚发布的Silverlight4包含RichTextBox控件^_^)

选择控件:从多个预设值中选择。如,CheckBox、RadioButton。

列表控件:用于展示列表集合。

日期控件:Canlendar和DatePicker。

信息显示控件:显示少量文字或报告当前进度。TextBlock(好比是Label)、ProgressBar。

数据显示控件:DataGrid(这个以后会变成GridView么,呵呵)。

多媒体控件:用于显示图像、承载音频或视频。Image、MediaElement。

布局控件:Canvas、Grid控件。

所有控件类都是FrameworkElement的子类,我们可以通过XAML直接声明这些封装好的控件,也可以创建自己的用户控件。

责任编辑:佚名 来源: 天极网
相关推荐

2010-06-02 09:25:29

Silverlight

2009-12-31 16:44:53

Silverlight

2009-12-31 11:15:57

Silverlight

2009-12-28 15:18:29

WPF控件模型

2009-12-30 13:30:16

Silverlight

2009-07-27 09:46:28

Silverlight

2009-12-30 13:51:43

Silverlight

2010-01-04 14:49:30

Silverlight

2012-08-28 09:54:35

SilverlightRapidSLSilverlight

2009-12-29 15:38:17

silverlight

2009-08-14 10:14:07

Silverlight

2009-12-30 17:29:53

Silverlight

2009-12-30 16:43:47

Silverlight

2009-12-31 17:21:41

Silverlight

2009-12-30 13:59:58

Silverlight

2009-12-30 11:16:36

Silverlight

2011-03-09 15:16:06

SilverlightHTML

2013-06-17 17:19:10

WP开发Windows PhoXAML代码创建

2009-12-30 14:10:27

Silverlight

2009-08-07 09:20:26

DataPager数据
点赞
收藏

51CTO技术栈公众号