您的位置:首页 > 编程语言 > ASP

ASP.NET中WPF概念以及应用程序结构和掌握WPF应用程序管理

2013-05-24 20:26 447 查看
什么是WPF?

WPF 是一个功能强大的图形界面处理工具。

WPF 是(Windows Presentation Foundation)的简称,是Microsoft公司用于 Windows 的统一显示子系统,是专门用来编写应用程序表示层的技术和工具。

微软从它的 .NET Framework 3.0 开始加入了对其的支持,作为微软力推的下一代用户界面技术。

WPF简介?

pWindows Presentation Foundation (WPF) 是微软公司下一代显示系统,用于生成能带给用户震撼视觉体验的 Windows 客户端应用程序。

pWPF 的核心是一个与分辨率无关并且基于向量的呈现引擎,旨在利用现代图形硬件的优势。WPF 通过一整套应用程序开发功能扩展了这个核心,这些功能包括Extensible Application Markup Language (XAML)、控件、数据绑定、布局、2-D和3-D图形、动画、样式、模板、文档、媒体、文本和版式。WPF 包含在 Microsoft .NET Framework 中,能够生成融入了 .NET Framework 类库的其他元素的应用程序。

WPF特点

p基于矢量绘图技术:WPF使用矢量绘图引擎,意味着图形可以无限放大和缩小。WPF使用Direct3D进行图形的渲染着色,充分利用显卡的GPU(Graphic

[ˈɡræfik] Processing Unit),即图形处理单元。

p设备无关单位:这是一个非常重大的改进,WPF使用1/96的逻辑单位(每个英寸96个像素),这使应用程序在不同的分辨率中依然能保持良好的交互性。传统的以像素为单位的用户界面,在不同的显示分辨率下时,会呈现不同的显示大小,WPF弥补了这种不足。

p声明式的程序设计:WPF使用全新的XAML标记语言,进行用户界面的设计,配合代码后置文件来开发应用程序。如果读者有过 ASP.NET 程序开发经验,那么WPF这种开发方式有点类传于ASP.NET,一个前端页面和代码后置文件。

pWeb风格的布局模型:WPF增强了流式布局模型体验,除了使用特定坐标进行固定控件布局外,还可以使用流式布局来动态的排列用户控件(流式的布局就是一个根据屏幕的尺寸可自行改变位置以取得相对定位的一种布局方式。),使用户界面高度动态的适应不同的显示设备,同时更便于创建动态内容。

p丰富的绘图模型:WPF除了可以处理基本图形、文本块之外,还提供了很多的新的绘图特性,比如真正的透明控件,使用不同的透明度堆叠多个控件以及原生的3D支持特性。

p样式和模板特性:类似于ASP.NET中的主题,或者是CSS样式特性,使应用程序可以重用已有的样式设定。模板允许更改任何元素的呈现方式,比如可以通过模板控制Button控件的输出。

p基于页面的应用程序:WPF允许开发人员创建浏览器风格的应用程序,让用户使用类似超链接的方式在页面中进行导航。应用程序也可以在浏览器中比如 Firefox或者是Internet Explorer中运行。WPF处理了很多繁杂的细节,比如历史页面等。

p数据驱动模型:事件驱动时代的数据是静态的、被动的(操作界面,触发事件,处理数据)而WPF使用数据驱动模型,当数据发生改变时会主动通知界面控件展示最新数据,在数据驱动模型中,数据处于主动地位,控件和事件被弱化,控件事件一般只参与界面逻辑,而不再处理业务逻辑。

WPF应用程序


这4个文件的作用分别如下:

App.xaml和App.xaml.cs文件:这两个文件是WPF应用程序的入口点,也就是WPF中Application类的实例化表示。在每一个WPF应用程序中,只能有一个Application类的存在。该类管理着 WPF 应用程序的生命周期,因此开发人员不能在一个WPF应用程序中创建多个 App.xaml 文件。App.xaml.cs 是代码隐藏文件,可以在该文件中完成很多系统初始化工作、系统的退出管理等。App.xaml文件不是必须的,可以像C#一样建立一个Main方法,在该方法中初始化一个Application对象也可以启动应用程序。

MainWindow.xaml和MainWindow.xaml.cs文件:这是VS2010中默认生成的窗口文件,一个WPF应用程序可能具有多个窗口、页面等。可以在“解决方案资源管理器”中右击项目名称,在弹出的快捷菜单中选择“添加新项”命令来添加更多的窗口到项目中。和ASP.NET一样,窗口的代码隐藏文件是可选的,可以直接使用<x:Code>标签将窗口后台代码放在.xaml文件中。

WPF和Silverlight的异同点

不同点:
1. SilverLight是基于浏览器插件的,在浏览器中运行,服务器端不需要部署任何环境,客户端只需要安装Runtime浏览器插件,无须安装.net Framework 3.0。所以,SilverLight的运行环境不受操作系统和浏览器的种类限制(更准确的说,是受到较少的限制)。

WPF可以编写Web程序或者桌面应用程序,可以直接编译为独立运行的.Exe文件。WPF运行时必须安装.net Framework 3.0。

相同点:
WPF Silverlight都是新一代的界面呈现技术,他们都统一地使用XAML语言来描述界面 在XAML语言中描述UI元素。

WPF界面使用XAML语言。
App.xaml和App.xaml.cs这两个文件是WPF应用程序的入口点。
WPF的应用程序都继承至System.Windows.Application类。
WPF应用程序的StartupUri属性用来获取或设置启动窗口,MainWindow属性用来获取或设置主窗口,ShutdownMode属性决定应用程序的关闭策略。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: