欢迎来到天天文库
浏览记录
ID:41032220
大小:3.73 MB
页数:76页
时间:2019-08-14
《c#2005net30高级编程(第5版)第31章Windows Presentati》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第31章WindowsPresentationFoundation310第章WindowsPresentationFoundationWindowsPresentationFoundation(WPF)是.NETFramework3.0中的三个主要扩展之一。WPF是为智能客户应用程序创建UI的一个新库。Windows窗体控件基于Windows内置控件,利用了基于屏幕像素的Windows句柄。WPF基于DirectX。应用程序不再使用Windows句柄,更便于重新设置UI的大小,并内置了音频和视频的支持。本章的主要论题如下:●WPF概述●用作基本绘图
2、元素的图形●WPF控件及其特性●如何用WPF面板定义布局●WPF事件处理机制●样式、模板和资源●如何创建动画●WPF数据绑定特性●Windows窗体集成提示:本章需要安装.NETFramework3.0和.NETFramework3.0ExtensionsforVisualStudio2005。31.1概述WPF的一个主要特性是设计人员和开发人员的工作很容易分开。设计人员的工作成果可以直接供开发人员使用。为此,必须理解XAML。本章的第一个主题是概述WPF,理解XAML的规则,讨论设计人员和开发人员如何合作。WPF由几个包含了上千个类的程序集组成。
3、因此用户可以在这些类中浏览,查找需要的类,大致了解WPF中的类层次结构和命名空间。1121第31章WindowsPresentationFoundation31.1.1XAMLXMLforApplicationsMarkupLanguage(XAML)是一种XML语法,用于定义用户界面的层次结构。在下面的代码行中,声明了一个内容为ClickMe!、名为button1的按钮。元素指定使用Button类:ClickMe!提示:XAML元素总是有一个.NET类。在特性和子元素中
4、,可以设置属性的值,定义事件的处理程序方法。为了测试简单的XAML代码,可以启动实用工具XAMLPad.exe(参见图31-1),在编辑字段中输入XAML代码。在XAMLPad中,可以在已准备好的和元素中编写元素。利用XAMLPad可以立即查看XAML结果。图31-1XAML代码可以由WPF运行库解释,也可以编译为BAML(BinaryApplicationsMarkupLanguage),在默认情况下,这是由VisualStudioWPF项目完成的。BAML添加为可执行文件的一个资源。除了编写XAML之外,
5、也可以用C#代码创建按钮。我们可以创建一个正常的C#控制台应用程序,添加对程序集WindowsBase、PresentationCore和PresentationFramework的引用,再编写下面的代码。在Main()方法中,从System.Windows命名空间中创建一个Window对象,设置Title属性。接着从System.Windows.Controls命名空间中创建一个Button对象,设置Content属性,将窗口的Content属性设置为该按钮。Application类的Run()方法负责处理Windows消息。usingSyste
6、m;usingSystem.Windows;usingSystem.Windows.Controls;namespaceWrox.ProCSharp.WPF1121第31章WindowsPresentationFoundation{classProgram{[STAThread]staticvoidMain(){WindowmainWindow=newWindow();mainWindow.Title="WPFApplication";Buttonbutton1=newButton();button1.Content="ClickMe!";main
7、Window.Content=button1;Applicationapp=newApplication();app.Run(mainWindow);}}}提示:Application类也可以用XAML定义。在VisualStudioWPF项目中,打开App.xaml文件,它包含Application类的属性和StartupUri。运行应用程序,会得到一个包含按钮的窗口,如图31-2所示。图31-2可以看出,WPF的编程非常类似于Window窗体的编程,其区别是按钮有Content属性,而不是Text属性。但是,与通过代码创建UI窗体相比,XAML
8、有一些非常好的优点。利用XAML,设计人员和开发人员可以更好地合作。设计人员可以用XAML代码设计一个漂亮的UI,开发人员
此文档下载收益归作者所有