XAML实例教程系列 - 对象和属性(二)
XAML实例教程系列 - 对象和属性
2012-05-22 14:18 by jv9, 1778 阅读, 6 评论, 收藏, 编辑
XAML是一种敏感型,声明性语言,对于字符大小写有严格的约束,在项目中,以".xaml"作为文件扩展名。XAML页面和ASP.NET的ASPX页面类似,都具有一个后台代码文件控制页面逻辑处理,这一机制将用户界面设计和后台代码设计分割,这意味着项目美工人员可以使用Expression Blend进行XAML用户界面设计,同时后台代码开发人员可在Visual Studio中共享该XAML文件,并同时设计其后台代码。
XAML学习方法和经验
在开始介绍XAML基础前,首先创建一个实例项目,通过实例项目代码帮助学习XAML语言。在Visual Studio 11中创建一个Windows 8 Metro Style空白页面项目,项目名“XamlGuide",
XAML基础 - Object (对象)
在XAML代码中,一个Element(元素)通常是一个Object(对象),在代码中映射对应.Net类。简单理解,在XAML中声明一个Element元素,也就是对相应公共语言运行类库进行一次实例化操作。
例如,在XAML中声明一个文本框,代码如下:
XAML基础 - Property (属性)
在面向对象程序开发中,我们所提及的属性,即是指对象的属性。而开发过程中,对象属性也是最重要,最常用的概念。 在XAML代码中,允许开发人员声明“元素对象”,不同的“元素对象”对应着多个对象属性。例如,一个TextBox文本框,有背景属性,宽度属性,高度属性等。为了适应实际项目的需求,XAML提供三种方法设置属性,分别是:
1.通过Attribute特性设置对象属性;2.通过Property属性元素设置对象属性;3.通过隐式数据集设置对象属性;
Attributes特性的概念
其中,属性设置器可以设置为较为复杂的对象元素,例如布局控件元素,自定义控件元素等。
在上面的示例代码中,按钮的Content内容属性以<元素对象.属性>的形式出现在<Button></Button>中,属性值设置器被StackPanel布局控件替代,在StackPanel布局控件中,分别定义了Image控件和TextBlock控件,用来显示图片和按钮文本内容,其运行效果如下:
其运行效果和Attribute特性设置按钮内容相同。Property属性元素是用户界面设计中最常用的属性设置方法,在随后的章节中会经常出现。
为了简化XAML代码复杂性,提高代码易读性,XAML提供隐式数据集设置对象属性方法。例如,在XAML中为一个ComboBox组合框赋值,传统代码如下:
从对比以上代码可以看出<ComboBox.Items>被删除后,<ComboBox>仍旧可以对ComBoxItem进行赋值操作。其运行结果和使用Property属性元素属性赋值相同:
另一个隐式数据集属性赋值的例子,在XAML代码可以直接生成渐变背景效果,实现方法是使用画刷类的GradientStops属性控制,在下面的代码中,我们尝试生成一个蓝色背景渐变效果:
在以上代码中,对<LinearGradientBrush.GradientStops>属性赋值,使用<GradientStopCollection>数据集描述渐变效果。如果使用隐式数据集属性赋值方法,则可以修改以上代码为:
两段代码运行结果相同:
今天暂时介绍到这里,欢迎留言讨论。
源代码下载 |
欢迎大家留言交流,或者加入QQ群交流学习:
22308706(一群) 超级群500人
37891947(二群) 超级群500人
100844510(三群) 高级群200人
32679922(四群) 超级群500人
23413513(五群) 高级群200人
32679955(六群) 超级群500人
88585140(八群) 超级群500人
128043302(九群 企业应用开发推荐群) 高级群200人
101364438(十群) 超级群500人
68435160(十一群 企业应用开发推荐群)超级群500人
XAML实例教程系列 - 对象和属性(二)的更多相关文章
- XAML实例教程系列 - 依赖属性和附加属性(四)
XAML实例教程系列 - 依赖属性和附加属性 2012-06-07 13:11 by jv9, 1479 阅读, 5 评论, 收藏, 编辑 微软发布Visual Studio 2012 RC和Wind ...
- XAML实例教程系列 - 类型转换器(Type Converter)七
XAML实例教程系列 - 类型转换器(Type Converter) 分类: Windows 8 Silverlight2012-06-25 13:40 961人阅读 评论(0) 收藏 举报 butt ...
- XAML实例教程系列 - 资源(Resources)
Kevin Fan分享开发经验,记录开发点滴 XAML实例教程系列 - 资源(Resources) 2012-08-10 12:47 by jv9, 1386 阅读, 1 评论, 收藏, 编辑 在Wi ...
- XAML实例教程系列 - XAML传递参数到值转换类实例 八
Kevin Fan分享开发经验,记录开发点滴 XAML实例教程系列 - XAML传递参数到值转换类实例 2012-06-28 05:25 by jv9, 508 阅读, 0 评论, 收藏, 编辑 继上 ...
- XAML实例教程系列 - 事件(Event) 五
Kevin Fan分享开发经验,记录开发点滴 XAML实例教程系列 - 事件(Event) 2012-06-19 01:36 by jv9, 1727 阅读, 7 评论, 收藏, 编辑 Events, ...
- XAML实例教程系列 - 命名空间(NameSpace) 三
XAML实例教程系列 - 命名空间(NameSpace) 2012-05-28 14:14 by jv9, 2205 阅读, 10 评论, 收藏, 编辑 上一篇曾提及XAML中,每个对象元素的声明是对 ...
- XAML实例教程系列 - 开篇(一)
XAML实例教程系列 - 开篇 2012-05-14 11:47 by jv9, 5588 阅读, 8 评论, 收藏, 编辑 去年,曾答应银光中国论坛的朋友推出一个关于XAML语言实例教程系列,帮助学 ...
- XAML实例教程系列 - 标记扩展(Markup Extensions) 六
XAML实例教程系列 - 标记扩展(Markup Extensions) 分类: Windows 8 Silverlight2012-06-21 13:00 1139人阅读 评论(0) 收藏 举报 扩 ...
- Silverlight,Windows 8应用开发实例教程系列汇总
Kevin Fan分享开发经验,记录开发点滴 Silverlight,Windows 8应用开发实例教程系列汇总 2012-06-18 01:05 by jv9, 2145 阅读, 3 评论, 收藏, ...
随机推荐
- First Project -用函数写的ATM+购物商城程序
作业需求:模拟实现一个ATM + 购物商城程序 额度15000或自定义 实现购物商城,买东西加入 购物车,调用信用卡接口结账 可以提现,手续费5% 每月22号出账单,每月10号为还款日,过期未还,按欠 ...
- ES 提案的各状态
JavaScrpit,亦即 ECMAScript,新功能的演进是由一个叫 TC39 这么个组织在统筹协调和推进的. 一般新特性会由社区先提案,被采纳后开始进入下一流程.一个提案到最终落地到成为标准,需 ...
- Python爬虫:抓取手机APP的数据
摘要 大多数APP里面返回的是json格式数据,或者一堆加密过的数据 .这里以超级课程表APP为例,抓取超级课程表里用户发的话题. 1.抓取APP数据包 表单: 表单中包括了用户名和密码,当然都是加密 ...
- 微服务网关从零搭建——(七)更改存储方式为oracle
资源准备: 下载开源项目 新建oracle表: -- ---------------------------- -- Table structure for OcelotGlobalConfigura ...
- Linux---shell基本指令
1. 显示当前目录 pwd wangzhengchao@ubuntu:~$ cd /home/wangzhengchao/Desktop/ wangzhengchao@ubuntu:~/Desktop ...
- Linux学习笔记记录(二)
- 在线安全清空慢查询日志slowlog
mysql> show variables like '%slow_query%';+------------------------------------+--------------- ...
- POJ - 2007 极角排序(Java 实现)
POJ 2007 将所有的点按逆时针输出 import java.io.*; import java.util.*; public class Main { static class Point im ...
- [luoguP2875] [USACO07FEB]牛的词汇The Cow Lexicon(DP)
传送门 f[i] 表示前 i 个字符去掉多少个 的最优解 直接暴力DP ——代码 #include <cstdio> #include <cstring> #include & ...
- Hihocoder 1337 (splay)
Problem 平衡树 SBT 题目大意 维护一个序列,支持两种操作. 操作一:插入一个数. 操作二:询问第k小的数. 解题分析 ~~刷刷水题,再熟悉一下splay的基本操作. ps:哇咔咔,有连续四 ...