免费预览已结束,剩余36页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
WPF開發指南WPF 开发设计指南(大理信息内部版)目 录1序言错误!未定义书签。1.1聲明性編程错误!未定义书签。1.2編寫高性能應用程错误!未定义书签。1.3簡易的部署错误!未定义书签。1.4使設計人員與開發人員分開错误!未定义书签。1.5向量圖形错误!未定义书签。1.6圖形和文本服務错误!未定义书签。1.7文檔生存週期错误!未定义书签。1.8 2D错误!未定义书签。2開發設計環境错误!未定义书签。2.1 安裝軟體错误!未定义书签。2.2 Microsoft Expression错误!未定义书签。2.2.1 InteractiveDesigner错误!未定义书签。2.2.2 GraphicDesigner错误!未定义书签。2.2.3 WebDesigner错误!未定义书签。3WPF開發設計基礎错误!未定义书签。3.1佈局错误!未定义书签。3.1.1Canvas错误!未定义书签。3.1.2DockPanel错误!未定义书签。3.1.3Grid错误!未定义书签。3.1.4StackPanel错误!未定义书签。3.1.5TabPanel错误!未定义书签。3.1.6WrapPanel错误!未定义书签。3.2畫圖形错误!未定义书签。3.2.1線段错误!未定义书签。3.2.2圓或橢圓错误!未定义书签。3.2.3矩形错误!未定义书签。3.2.4多邊形错误!未定义书签。3.3Brushes错误!未定义书签。3.3.1DrawingBrush错误!未定义书签。3.3.2LinearGradientBrush错误!未定义书签。3.3.3RadialGradientBrush错误!未定义书签。3.3.4VisualBrush错误!未定义书签。3.3.5 ImageBrush错误!未定义书签。3.4 Resources错误!未定义书签。3.5 Triggers错误!未定义书签。3.6文本错误!未定义书签。文本错误!未定义书签。4常用控制項错误!未定义书签。4.1公共屬性错误!未定义书签。4.2Border错误!未定义书签。4.3CheckBox错误!未定义书签。4.4ComboBox错误!未定义书签。4.5Button错误!未定义书签。4.6Hyperlink错误!未定义书签。4.7List, ListItem错误!未定义书签。4.8Menu错误!未定义书签。4.9TextBlock错误!未定义书签。4.10 TabControl错误!未定义书签。4.11 ScrollViewer错误!未定义书签。4.12 Viewbox错误!未定义书签。5數據邦定错误!未定义书签。5.1 XML错误!未定义书签。5.2 元素幫定错误!未定义书签。5.3 對象邦定错误!未定义书签。5.4 邦定到DataTable错误!未定义书签。6故事板错误!未定义书签。7 3D错误!未定义书签。8部署错误!未定义书签。9綜合實例错误!未定义书签。1序言在过去十年中,我们看到了应用程序开发模型形成了两个分支,传统的“智能客户端”安装应用程序,基于 Web 的应用程序,两者都为了在开发界内占据统治地位而展开竞争。这两个模型都要求开发人员牺牲在另一个模型中被视为理所当然的功能。Web 应用程序提供了更大的作用范围、更简单的部署和简易性,以弥补状态的丢失、更为复杂的开发模型以及集成度较低的平台体验等缺点。另一方面,Windows 领域使人们开发的应用程序有希望脱机工作并充分利用客户端硬件,但丧失了部署的简易性以及可用于 Web 应用程序的无数种标记工具支持。能够提供独立的、基于浏览器的应用程序、简易的部署、出色的工具支持和深度平台集成的客户端应用程序模型具有明显的作用。 Windows Presentation Foundation(以前称为“Avalon”)是 Windows 中新的关键图形子系统,它为用户接口、2D 和 3D 图形、文文件和媒体提供了统一的方法。它在 .NET Framework 基础上生成,并利用 Direct3D 进行基于向量的呈现,为生成所有种类的浸入式应用程序提供了强大的解决方案。另外,Windows Presentation Foundation 通过提供声明性编程模型来实现“工具性”和灵活性,从而使设计人员成为开发过程不可分割的组成部分。Windows Presentation Foundation 提供的服务有基本服务 XAML, Property System, Input & Eventing, Accessibility 媒体服务 2D, 3D, Audio, Video, Text, Imaging, Animation, Effects, Composition Engine 文档服务 XPS Documents, Open Packaging Conventions 用户接口服务 Application Services, Deployment, Controls, Layout, Data Binding如今的开发人员面临着无数种不同技术和 API 的选择,具体取决于他们是面向 2D 图形(GDI 或 GDI+)、用户接口(USER32 或 Windows 窗体)、媒体 (DirectShow) 还是 3D(Direct3D 或 OpenGL)。Windows Presentation Foundation 提供了一个与上述所有服务正交的单个模型,并允许将内容无缝地集成到单个应用程序。可使用相同的构造来实现动画、数据绑定和样式设置,而无需顾及是面向 2D、3D 还是文本内容。1.1声明性编程Windows Presentation Foundation 引入 XAML(可扩展应用程序标记语言),这是一种基于 XML 的语言,用于实例化和填充嵌套对象层次结构。尽管 XAML 并非专门局限于 Windows Presentation Foundation,但它本质上是适合于诸如 UI 定义和构建这样的任务的。XAML 的设计使应用程序可在运行时分析和操纵动态工作流方案的 UI 逻辑。重要的是,Windows Presentation Foundation 中体现的 XAML/代码隐藏模型使设计人员和开发人员可使用诸如 Expression“Sparkle”这样的工具以及第三方专家工具(包括 ZAM 3D 和 Mobiform Aurora),相互协作来完成客户端应用程序的设计和开发。 1.2编写高性能应用程Windows Presentation Foundation 为编写丰富的应用程序提供了强大的功能,但是,它同时也可能带来性能问题,除非应用程序的设计考虑了目标计算机的不同特征。Windows Presentation Foundation 适当地利用了硬件呈现。它使用 Direct3D 在 DirectX 7(或更高版本)上提供了加速呈现,并且用 DirectX 9 和 Pixel Shader 2.0 硬件进一步优化了图形卡。对于不具有上述功能的计算机,Windows Presentation Foundation 使用了软件呈现,即一个基于 CPU 的 SSE 和 SSE2 优化光栅化程序。当 Windows Presentation Foundation 无法使用硬件管线呈现某些内容,并且无法保证可以在所有计算机硬件配置中使用呈现输出时,也会使用该程序。 Windows Presentation Foundation 同时具有硬件和软件管线,并且两者具有不同的性能特征。这可能使应用程序性能非常难以预测,因为存在两个代码路径。实际上,硬件确实要快一些;对于给定的应用程序,这只是一个设置最低要求的问题。Windows Presentation Foundation 支持简单的运行时硬件检测,并且允许您使用资源词典针对运行应用程序的平台动态调整该应用程序。Windows Presentation Foundation 是对应用程序开发人员或设计人员工具箱的极大的增强。作为将来版本 Windows 的战略性呈现基础类库,它提供一个模型,该模型充分利用了基础图形硬件,并且为从独立应用程序到基于 Web 浏览器的应用程序再到文文件的所有方面提供了支持。那些希望生成丰富的浸入式应用程序用户体验的应用程序开发人员,以及那些将要触及 Web 模型限制的人会因为及早采用 Windows Presentation Foundation 而获得特别的好处。1.3简易的部署通过对独立应用程序和 Web 浏览器应用程序的支持,Windows Presentation Foundation 提供两种部署模型中的最佳模型。Web 浏览器应用程序从 Internet Explorer 内部运行 占据整个窗口或在嵌入式框架中。它们提供 Web 应用程序所闻名的易于部署的特点,并且在部分信任的沙箱内操作(沙箱能够防止客户端计算机受到恶意应用程序的侵害)。然而,它们仍然可以利用本地客户端硬件,并使用 3D 和媒体服务获得目前可以得到的最丰富的 Web 体验。另一方面,独立应用程序通过 ClickOnce 或 MSI 技术在本地安装,并且提供对基础平台的完全访问。1.4使设计人员与开发人员分开WPF 可使 UI 与逻辑之间的合约最小化,从而使开发人员与设计人员可以集中精力做他们最擅长的工作。另外,通过融入强大的设计理念(如丰富 2D、动画以及动态布局)并采用高度可工具化的标记格式表现它们,WPF 使设计人员可以直接表达他们最具创造性的优秀想法,并成为独立的 UI 创建者。以XAML作为交换格式的Expression试用EID(Expression Interactive Designer)的时候发现EID与FLASH一样有一个非常致命的弱点,就是绘图功能并不强大,没办法直接在软件中绘制非常精美的图形,为了保证良好的输出质量可以采用位图或EPS,不过都有点麻烦,Graphic Designer制作的图形可以直接输出为XAML交由Expression进行交互制作,理论上是可以进行交互制作后,再返回Graphic Designer中进行修改的,反正是XAML的描述,只要x:name不会有什么变化的话,应该没有问题,看来如果用EID做出好东西,非得用Graphic Designer不可。(WPF设计开发流程图)也可以把XAML和代码分开XAML FileOKC# Code fileNamespace MyCodepublic partial class MyDoc :window void BtnOK_Click(object sender,RoutedEventArts e)btnOK.Backgroud = Brushes.Red;1.5向量图形Windows Presentation Foundation 充分利用了作为现代 PC 系统的组成部分的强大的图形处理单元。本质上,组合引擎基于向量,允许对所有输出进行缩放以便与特定计算机的分辨率匹配。呈现体系结构使用 Direct3D 来完成所有输出:在使用硬件实现 DirectX 7 或更高版本的视频卡上,Windows Presentation Foundation 尽可能地使用 GPU 来呈现输出。在无法使用硬件呈现的情况下,可以退而求其次使用软件呈现。最后,浮点逻辑像素系统和 32 位 ARGB 颜色支持提供丰富的、预见到未来技术需要(如高 DPI 显示器)的高保真体验。1.6图形和文本服务当前的 Windows 图形平台 (GDI) 具有跨越将近二十年的传统。在过去几年中,3D 领域已经发生了巨大的变革,但 GDI 开发人员并未从中得到多少好处。目前的图形硬件进步主要集中于 3D 管线,并且 Windows Presentation Foundation 被设计为基于较旧的 2D 技术的完全战略替代物,并且最大限度地使用了现代 PC 的图形功能。图形的所有不同元素都经历了相同的管线:2D、3D、文本、图像和视频。Windows Presentation Foundation 为应用程序和内容提供主流图形服务。它提供一个应用程序模型,而该模型利用在现代图形卡中流行的 3D 硬件支持。Windows Presentation Foundation 更加注重基于向量的内容;它提供分辨率独立性,将虚拟像素映像到逻辑像素,并且支持高 DPI 屏幕;本机坐标系基于双精度数据类型。新呈现模型的附带功能是,无需完成额外工作即可应用图像转换(例如,可将模糊效果或缩放因子应用于任何内容)。Windows Presentation Foundation 还是更为广泛的图形生态系统的一个必不可少的组件:例如,它利用新的 Windows Vista 显示驱动程序模型,它与打印模型共享功能,并且它具有通过终端服务实现的高保真远程处理。1.7文文件生存周期Windows Presentation Foundation 引入一组新的文档和打印技术。需要将数据永久保存在本地存储区的应用程序可以使用 Open Packaging Conventions(开放打包约定) 这是一种与 Office 12 共享的基于 ZIP 的打包约定,它支持核心属性和自定义元数据、数字签名以及权限管理功能。对于希望共享文档以便在多台计算机(即使未安装相应的应用程序)之间进行协作的应用程序而言,XML Paper Specification(XML 档规范)允许以可打印、可移植的格式确立可视化效果。Windows Presentation Foundation 中的所有呈现操作均通过 Direct3D 完成(实际上,Windows Vista 硬件徽标程序需要 DirectX 9 的 GPU)。通过将更多的图形处理操作移动到 GPU 中,我们可以让 CPU 有能力完成其它工作,从而提高性能,同时改善图形的质量。然而,这些优点并不局限于 3D 领域 2D 图形也利用了相同的服务;Windows Presentation Foundation 内部未使用 GDI(除非与旧式元素集成)。对于安装有 Windows Vista 的计算机而言,新的显示驱动程序模型提供了优质的输出,从而使媒体密集型应用程序获得较高的性能。1.8 2DShapes 是开发人员可以使用的最基本的 2D 图形元素:它们包括画刷、画笔、几何图形、转换等。所有属性都是依赖性属性,这意味着可以将它们动画化、进行数据绑定等在 Win32 中,即使是像这样的简单任务也需要多得多的代码,因为需要管理重新绘制。还请注意,像矩形 (Rectangle) 这样的形状派生于 FrameworkElement,这意味着它们参与布局系统。其影响是:在下面的代码中,随着矩形的大小增加,椭圆形会缩小以填充剩余的可用空间 2开发设计环境2.1 安装软件开发WPF应用程序需要安装软件及其安装顺序如下1、Framework3.02、SDK for 3.0(运行时会在线下载安装约1.2G)3、VS 20054、WinFX Development Tools安装好以上软件后,打开VS 2005 新建项目会看到 Window (WinFX),如下图:这样就可以建立WPF项目。建立WPF项目有两种类型,WinFX Windows Application 和WinFX Web Browser Application 2.2 Microsoft Expression设计WPF应用程序需要安装软件及其安装顺序如下1、Framework3.02、SDK for 3.0(运行时会在线下载安装约1.2G)3、Microsoft Expression ,(这里包含三个工具 InteractiveDesigner,GraphicDesigner,WebDesigner)4、3DToXAML(这个是第三方工具,其功能是,用3D Max ,maya做好的3D 转换成XAML语言)2.2.1 InteractiveDesignern 主要功能特点 全方位的设计能力 全面的创造组件 无缝集成的工作流程 强大的开发能力 增强的终端用户满意度服务2.2.2 GraphicDesignern 主要功能特点 实时特效功能 流水线型工作环境 创新的向量制功能 灵活的位图制作与编辑功能2.2.3 WebDesignern 主要功能特点 无处不在的样式定义 面向设计的用户接口 创新的XML集成功能 强大的WEB开发功能 基于标准的设计功能3WPF开发设计基础3.1布局多数应用程序设计人员都不知道其程序的运行大小。不同 PC 间的屏幕大小差别很大。此外,一些用户以最大化方式(充满整个屏幕)运行应用程序,而其它用户使用较小的窗口以便可以同时看到若干个应用程序。这并没有妨碍一些设计人员设计只以一种大小工作的 UI(出于某种原因,这在 Web 上很普遍)。但是,如果您想满足用户的需要,就应该生成一个具有可以将自身修改为可用空间的布局的 UI。如果您需要使应用程序可访问且可本地化,这种适用性也非常有用。一个足够适用的 UI 无需重新设计,即可以一种屏幕的低分辨率呈现,或者可以转换为所有单词都是两倍长度的语言。WPF 提供功能强大的布局元素工具箱,这些元素使得生成具有适应性布局的 UI 更加容易。Windows 窗体开发人员所熟知的简单停靠和锚定技术是可用的。使用一个流风格布局也是可能的,其中 UI 元素的排列方式就像单词在文本中的排列方式一样:从左到右,然后在当前行满时进入下一行首。布局是任何用户界面子系统的基础服务之一,它涉及如何确定元素在窗口中的位置。设计 Windows Presentation Foundation 布局系统的目的是为灵活的可扩展模型提供支持,该模型针对内容进行优化,并且能够正确地处理数据、样式和控件。 传统的应用程序平台(如 Win32)几乎没有布局的概念:控件放置在画布上的 (x,y) 坐标系中,并且开发人员需要手动提供对确定任何元素的原点和尺寸的支持(考虑窗口大小调整和显示器 DPI 设置)。另一方面,Windows Presentation Foundation 提供多种适合于内容并且在窗口内管理控件和项目位置的布局实现。在 Windows Presentation Foundation 中,几乎可以使用任何元素作为其它元素的宿主。例如,Button 可按如下方式包含图像: Windows Presentation Foundation 提供六个布局面板,以便控制和约束子元素的大小和位置:Canvas、DockPanel、Grid ,StackPanel ,TabPanel和 WrapPanel。 3.1.1CanvasCanvas 使您可以进行 (x,y) 定位,这与 GDI 和 GDI+ 目前提供的功能类似。您还可以使用附加的属性来控制项的位置。如下代码:浏览Demo Canvas.Top=50 Canvas.Bottom=50 Canvas.Left=50 Canvas.Right=50 这里,Canvas.Top 和 Canvas.Left 是 Canvas 类中的属性,应用于 Button 以控制其位置。示例代码2 浏览Demo 浏览Demo X坐标:Y坐标:样例按钮3.1.2DockPanelDockPanel 使您在停靠项时无需担心它们的确切 (x,y) 位置,它是从上下左右进行布局。一个简单示例,代码如下 浏览Demobutton =在这里放在底中显示的内容,系统管理使用管理系统管理Main示例2代码:浏览Demo Button 1 Button 2 Button 3 Bottom1 Bottom2 Left 1 Left 2 Left 3 DockPanel.Dock属性值说明Top顶部Left左部Right右部Button底部浏览Demo布局上方布局下方布局右方布局左方布局中间中间子布局左边中间子布局右边3.1.3GridGrid。这是一个启用类似网格或表布局的强大布局元素(用过 HTML 表元素的人会非常熟悉它)。由于其通用的适用性,Grid 的使用可能比所有其
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 3.3水资源(说课稿)八年级地理上册同步备课系列(人教版)
- 2025上海市科研机构创新计划合作合同
- 2023八年级历史下册 第六单元 科技文化与社会生活第18课 科技文化成就说课稿 新人教版
- 2025茶叶代销的合同范本
- 2025合同范本丰达速递有限公司货物运输合同协议样本
- 2025年农民个人购房合同
- 消化护理考试题库及答案
- 医院招聘儿科护理考试题及答案
- 2025年低空经济产业政策实施企业分析报告
- 湖北电站施工组织设计水利方案
- 感染性心内膜炎诊疗指南
- 口腔医学技术专业职业规划
- (标准)驿站转让合同协议书样本
- 2024版电网典型设计10kV配电站房分册
- 2025年工会基础知识考试题库及参考答案
- 企业团险培训课件
- 市政工程施工配套课件
- 国际贸易部管理制度
- 嗜酸细胞性食管炎的诊断与治疗
- 呼吸系统感染健康教育
- DB13 2122-2014 洁净颗粒型煤
评论
0/150
提交评论