动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 软件工程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ 软件工程 ]的信息

本月文章推荐
.使用Eclipse和RDT插件进行Ruby开.
.如何编写高质量软件需求说明书.
.如何导入服务导向架构 SOA.
.C++ virtual member function FAQ.
.IBM的MARS加密算法实现(5).
.Iona:新Artix ESB 强调增量式SOA.
.对.Net事件委托的深入分析.
.模式与J2EE.
.JAVA设计模式之事务处理.
.VS.NET中构建数据库应用程序.
.绩效管理实现“投资于人”.
.项目管理中的(用户)需求变更控.
.Apache APR可移植运行库简介(2).
.追求代码质量: 不要被覆盖报告所.
.ADO.NET实现应用程序数据访问层.
.Z5NTS功能之netstat(网络工具).
.基于UML的短信计费系统的分析与设.
.Vista新技术:WCF开发指南之构建.
.浅谈PHP开发团队管理及程序员做人.
.用XML、XQuery和本机XML数据库技.

XAML开发入门之XAML核心语法

发表日期:2008-3-23 |



  就如同其它的基于XML的标记语言一样,XAML大体上也遵循XML的语法规则。例如每个XAML元素包含一个名称以及一个或多个属性。在XAML中,每个属性都是和某个WPF类的属性相对应的,而且所有的元素名称都和WPF中定义的类名称相匹配。例如<Button>元素就和System.Windows.Controls.Button类对应。
 
  XAML是一个纯粹的标记语言,这也就意味着某个元素要实现一个事件的处理时,需要在该元素中通过特定的属性来指定相应的事件处理方法名,而真正的事件处理逻辑你可以通过C#或者VB.NET语言进行实现,我们是没有办法通过XAML来编写相应的事件处理逻辑的。假如你对Asp.Net技术比较了解的话,那么应该对代码后置这个概念不会生疏。对于一个WPF程序来说,我们也可以像ASP.NET那样采用代码后置模型,将页面和相应的逻辑代码分别存放在不同的文件中,也可以以一种内联的方式将页面和逻辑代码都存放在同一个文件中。一般来说,我们是不推荐采用后面这种方式的,但是假如你要坚持这种实现方式亦无不可,但是最好是采用代码后置的方式将呈现层和应用程序逻辑层分离开来。

  下面我们通过一个具体的示例来讲解WPF程序中代码后置方式和内联方式的实现机制,在这个示例中依然是使用Button元素来说明这两种方式的区别和实现过程。下面我们通过如下的XAML代码来声明一个Button元素:

35 <Button
36 OnClick="ButtonClickedHandler"
37 Name="MyButton"
38 Width="50"
39 Content="Click Me!" />
  而后我们在单击这个Button按钮时,将触发相应的事件,使得该按钮的宽度和其显示的内容信息将发生改变。对应的事件处理程序代码如下:

40 void ButtonClickedHandler(object sender, RoutedEventArgs eventArgs)
41 {
42  MyButton.Width = 100;
43  MyButton.Content = "Thank you!";
44 }
  我们通过上面的程序清单可以看出,一旦点击了该按钮,就将使得按钮的宽度从50延展到100,而其显示的文本也由"Click Me!"变为"Thank you!"。同时也可以发现我们可以使用C#或者VB.NET自己对XAML元素的各个属性进行操作,这是因为所有XAML元素的属性都是和WPF类的属性戚戚相关的。为此,你不单单可以使用C#来改变Button的背景颜色、高度等属性,甚至还可以像以前的Windows窗体程序那样通过代码来调整Button元素的位置坐标。

  假如要以内联的方式进行上述的实现,我们可以为在XAML文件中使用<x:code>元素,并将所有的内联代码都封装在<![CDATA[...]]>标签中,以确保分析器不会对其中的代码进行解析。下面就是上述示例的内联实现方式的代码:

01 <x:Code>
02 <![CDATA[
03 void ButtonClickedHandler(object sender, RoutedEventArgs eventArgs)
04 {
05  MyButton.Width = 100 ;
06  MyButton.Content = "Thank you! ";
07 }
08 ]]>
09 </x:Code> QQread.com 推出各大专业服务器评测 Linux服务器的安全性能 SUN服务器 HP服务器 DELL服务器 IBM服务器 联想服务器 浪潮服务器 曙光服务器 同方服务器 华硕服务器 宝德服务器
  XAML开发人员要注重的一点就是每次声明一个XAML元素时,最好用Name属性为该元素指定一个名称,这样应用程序逻辑开发人员才可以通过代码来访问此元素。这是因为某种类型的元素可能在XAML页面上声明多次,但是假如你不显式地指明各个元素的Name属性,那么我们是无法区分那个是我们想要操作的元素,也就无法通过C#或VB.NET来操作该元素和其中的属性了。

  下面是声明一个XAML元素必须遵循的四大原则:

  ·XAML是大小写区分的,元素和属性的名称必须一个严格区分大小写。例如对于Button元素来说,其在XAML中的声明应该为<Button>,而不是<button>。

  ·所有的属性值,无论它是什么数据类型,都必须包含在双引号中。

  ·所有的元素都必须封闭的,也就是说,一个元素必须是自我封闭的,<Button .../>,或者是有一个起始标记和一个结束标记,例如<Button>...</Button>。

  ·最终的XAML文件也必须是合适的XML文档。

  声明一个元素及其相应属性的基本格式如下:


<元素名 属性名="值" 属性名="值" ... />
  下面是一个简单的用户登陆窗口界面,其对应的代码见程序清单,我们来这验证选这段代码是否遵循了上述的四大原则。请你仔细查看元素声明的大小写是否对应、所有的属性值是否都包含在双引号中、所有的元素标记是否是封闭的以及该XAML文件是否是一个组织良好的XML文档。

01 <StackPanel
02 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
03 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
04 HorizontalAlignment="Left"
05 Margin="10">
06 <Label
07 Margin="5"
08 Content="Username" />
09 <TextBox
10 Margin="5"
11 BorderBrush="Blue"
12 BorderThickness="1"
13 Background="AliceBlue"
14 Foreground="Black"
15 Width="200"/>
16 <Label
17 Margin="5"
18 Content="PassWord" />
19 <PasswordBox
20 Margin="5"
21 BorderBrush="Blue"
22 BorderThickness="1"
23 Background="AliceBlue"
24 Foreground="Black"
25 Width="200" />
26 <Button
27 Margin="10"
28 Background="AliceBlue"
29 Foreground="Black"
30 Width="100"
31 Height="20"
32 Content="Submit" />
33 </StackPanel>
XAML开发入门之XAML核心语法

  为了增加XAML代码的可读性,本章中的所有XAML代码都采用了如上述程序清单所示的格式化风格,这样就算是那些包含嵌套元素的复杂标签,我们也可以一目了然地知道其组织结构。当然上述的格式化风格不是请求的,你可以将一个元素声明代码放在一行中,也可以将它分成多行进行放置,一切都取决于你的喜好。因为XAML在部署前是编译为BAML文件的,所以那些多余的空格对编译器的编译过程没有任何的影响,也就是说不会因为空格的多少而影响编译的性能。但是最好还是采用本章采用的格式化风格,究竟清楚的代码可读性对于后续的维护和修改来说是非常重要的。
上一篇:Windows工作流活动技术概览 人气:393
下一篇:XAML开发入门之用VS2005开发XAML程序 人气:492
浏览全部软件工程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-10-12 team论坛 v2.0.4 bulid 080916 A
2008-10-12 Roclog v3.1.6
2008-10-12 SupeV v1.0.1 简体中文 GBK
2008-10-12 NetCMS v1.6.0.1010 正式版
2008-10-12 PHP考试系统PPFrame v1.2.7
2008-10-12 LPAS个人相册 v1.6.3
2008-10-12 快问仿百度知道系统 动态-静态-互
2008-10-12 方卡广告防点击系统 V1.0 GB2312
2008-10-12 泡菜内容管理系统[PCMS] v1.0 Bu
2008-10-11 联系人分组工具 v1.1 中文破解版
2008-10-11 FaceMelter变脸 v2.0 汉化破解版
2008-10-11 PathTracker道路跟踪仪 v1.2 破解
2008-10-11 Rooms手机聊天室 v0.6.7 破解版
2008-10-11 RemoteDesktop远程桌面 v1.0 破解
2008-10-11 ProRemote远程调音台 v1.0.1 破解
2008-10-11 PicShare照片共享 v1.0.0 破解版
2008-10-11 Photogene照片编辑器 v1.5 汉化破
2008-10-11 WriteRoom共享文档 v1.0 破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵
SEO対策 中国語教室 ホームページ作成