桂林电子科技大学学生学习深入浅出WPF2解剖最简单的GUI程序.docVIP

桂林电子科技大学学生学习深入浅出WPF2解剖最简单的GUI程序.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
深入浅出WPF 第二辑 ——解剖最简单的GUI程序 小序: 从这篇文章开始,我们进行XAML语言的上手学习。说实话,XAML这种语言一点也不难。如果把XML看成是“父类”,那么XAML就是XML的一个派生类了,所以XML的概念在XAML中是通用的。What?你不了解XML?没关系,反正我们是从头开始! 正文: 你还能想起学C/C++的时候写的第一个程序吗?呵呵,一定是“Hello World”吧!今天我们来解析一个“Hello WPF”。准备好了吗?Lets go! 准备知识 使用VS2008新建一个WPF Application,你立刻就会得到一个看上去是“空”的窗体。窗体这个东西,在Windows Form程序里叫“Form”,在WPF里叫“Window”——喔,Win32 API里也叫Window!是的,你说对了,WPF在某种程度上是向Win32 API的“返璞归真”! 为什么说它“看上去”是空的呢?实际上,这个Window的内部有一个叫Grid的元素(Element),只是这个元素是看不见的,它就像信纸上的“暗格”一样。 针对XAML文件,是可以进行“所见即所得”的可视化设计的。你在XAML代码上做的修改,只要是合乎语法的,那么在设计器里就会立刻反映出来(有时候需要刷新一下)。如果你发现设计器里显示不出来了,那一定是XAML语句出了问题,最好想办法修正它。不然的话,在设计器里都看不到效果、只能运行起来看,这还算什么可视化编程呢?要XAML还有什么意义呢? 在我们正式剖析代码之前,让我们牢记两件事: 1.???? 这个世界是一个“组合”的世界——汽车是由一个车身和四个轮子组合成的;飞机是由机翅和机身组合成的。这些组成部分,我们称之为元素(Element)。 2.???? 在XAML文件里,每写一个元素就相当于定义了一个元素所对应的.NET Framework类的实例。 有必要强调一点:如果一个实体是由一些(同类或者不同类的)子对象组合成的,我们就称这个实体为“父元素”、称这些子对象为“子元素”,因为父元素包含着子元素,所以常把父元素称为“包含元素”、把子元素称为“被包含元素”或父元素的“内容”——我们需要注意,被包含元素并不等同于包含元素的属性(property),被包含元素只是包含元素的一个部分。? 初听这句话,肯定是一头雾水,OK,让我举个两个例子。比如有一个班级,这个班由56个学生、1个老师、60张桌子、70把椅子组成,那么这些学生、老师、桌子和椅子,只是这个班级的一些“组成部分”;而这个班级的人数、班级隶属的年级、班级的编号是这个班级的属性。再比如我有一个Window,这个Window里有1个Grid,这个Grid里又包含着3个TextBox、2个Button,那么这1个Grid就是这个Window的子元素,3个TextBox和2个Button又是Grid的子元素;而Window的Name、Icon、尺寸乃至Resources都是这个Window的属性。 你可能会问,这个道理这么简单,有什么好强调的呀? 原因是这样的:对于C#的类而言,属性(property)肯定是一个对象(比如Window的Name属性,它就是一个String类型的对象),这个对象也是类实例的一个组成部分;而在对这个类进行扩展的时候(对这个类进行派生),我们新添加进来的元素(比如3个TextBox和2个Button)也是类实例的组成部分。OK,大家看到了,从现实世界抽象到编程世界来之后,它们的区别就不那么鲜明了。为了再让它们的区别“鲜明”起来,请大家记住两句话: 属性对象(元素)是父元素所固有的,子元素则可由设计人员来进行增减 属性对象(元素)是隶属于父类的(从父类继承而来),子元素是在设计派生类时新添加进来的 之所以在剖析代码之前讲述这些东西,是因为XAML是一种XML语言,它的语法完全是元素嵌套组合式的,而属性和子元素也都是类实例的组合体,如果不先分清楚,读代码的时候一定会感觉混乱。 ?在了解了这些内容之后,我们就可以放心地读代码了。 剖析代码 ?请新建一个名为HelloWPF的WPF Application项目。在XAML语言编辑器里,你会看到和下面一样的代码。 ?? Window?x:Class=HelloWPF.Window1 ????xmlns=/winfx/2006/xaml/presentation ????xmlns:x=/winfx/2006/xaml ????Title=Window1?Height=300?Width=300 ????Grid ???????? ????/Grid /Window ? ?让我们一个词一个词地分析这段代码。 就像我们遇到复杂长句时先要分析它的主干一样——让我们暂时抛开花花绿

文档评论(0)

xeve238 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档