WPF指南之XAML概述

[转]WPF指南之XAML概述

出处: 
it168

要赢得世界,必须在恰当的时间做出恰当的事。这一点,微软做到了。历经微软DOS,Win 31, Win95, Win 98, Win 2k, WinXP, 一路走来,一次比一次热闹,一个比一个精彩、炫丽。Vista的宣传更是轰轰烈烈,喧嚣日上。Microsoft总是有能力在恰当的时间制造出意料中的轰 动,Vista一经推出便让IT业界趋之若鹜。

一、掀起你的盖头来,让我看看你的脸——.NET Framework 3.0

与微软对Vista锣鼓宣天的推广相比,对与之相伴的.NET Framework 3.0却显得非常低调。微软没将它作为宣传重点。所有的幕后英雄总是默默无闻。对普通用户而言,他们不关心舞台背后的一切,它们更关心的是前台的表现,是 那种炫丽奢华的感觉。真正热捧幕后英雄的,也是我们这群在幕后默默耕耘的程序员们。我们对.NET Framework 3.0有种自然而然的亲切感,因为我们将在此架构上为Vista编写各种程序。

作为微软精心打造的新一代.NET架构,.NET Framework 3.0在Vista时代担当最主要的应用程序接口。.NET曾被微软寄予厚望和重托,比尔·盖茨先生欲用之来实现一统江湖之志。事实证明,微软对.Net 的推出是成功。越来越多的应用程序开发者已从Win32和JAVA架构转向.NET开发,越来越多的网站开发人员爱上了asp.net。这让微软看到了希 望,他们踌躇满志,他们加紧了对.NET的研发,升级速度越来越快,.NET Framework 3.0就是微软在.NET Framework 2.0后最重要的升级。甚至有人惊呼,我们象刘翔一样地飞奔也跟不上微软的速度!

到了.NET Framework 3.0,.NET令程序员更称心、并逐渐“倾心”。在众多的开发环境,微软的开发系列产品,让它在与其它架构的较量中逐渐抢得上风而独在鳌头。

Vista集成.NET Framework 3.0,可谓珠联璧合。可以这么讲,没有.Net Framework 3.0这个幕后英雄,Vista会黯淡很多。

.NET Framework 3.0(原代号“WinFX”),它构建于.NET Framework 2.0之上,同时新增了四个大组件:Windows Presentation Foundation(WPF),Windows Workflow Foundation(WWF)、Windows Communication Foundation(WCF)和Windows CardSpace,而这些恰是NET Framework 3.0最具价值的部分。

其中,最令人瞩目的是WPF(原来代号为“Avalon”),它是微软全新的图形界面引擎,为各种应用提供统一的界面技术。程序员在WPF的帮助下,要开 发出媲美Mac程序的酷炫界面已不再是遥不可及的奢望。Windows Workflow Foundation用于开发基于工作流的应用程序;Windows Communication Foundation则用于开发面向服务的应用程序,它是新一代通讯和网络开发框架,为不同类型的网络应用程序提供了一个通用的编程模型,尤其是包含其中 的PeerChannel模块,以难以置信的方式消除了开发P2P应用程序的复杂性和困难度;而Windows CardSpace提供数字标志用户控件。如果把这些林林总总小巧精美的产品比做是珍珠的话,那么,需要一根金线将这些珍珠串起来,珍珠才更有价值,珍珠 才熠熠生辉。而串起这颗珍珠的金线,就是.NET Framework 3.0。

二、搭建Vista程序的开发环境

1. 如果你使用的是Vista操作系统,那么,由于Vista已集成了.NET Framework 3.0,所以不必再单独安装.NET Framework 3.0。但是,如果你是Windows XP或Windows 2003下开发,则必须安装.NET Framework 3.0。

2. 要开发Vista应用程序,则必须有Vista SDK开发包的支持。Windows SDK for Windows Vista and .NET Framework 3.0包含了大量库文件、头文件、文档、示例和工具。由于Vista操作系统的推出时间比Visual Studio 2005开发工具要晚,因此,针对Windows Vista开发的Windows SDK和.NET Framework 3.0并未集成到Visual Studio 2005中。因此,必须下载此SDK,个头不小(当前最新版本是1.15GB),下载和安装时需要你足够的耐心和毅力,相信这个对于我们这些一向好脾气的 程序员产不在话下。

3. 安装Visual Studio 2005(中/英文版均可,建议你习惯使用英文版,因为所有版本都是英文版的首先投放市场,而英文版到中文版,现实有三个月以上的时间差,而对于我们这些 母语非英语的开发人员,英语关是一个必须跨越的槛,缘引鲁迅老先生的名言改编一下:世界并没有自己熟悉的路,走得多了,也就熟了路!英文看得多了,自然也 就熟悉了)。

4. 下载并安装Visual Studio 2005 SP1,Visual Studio 2005 SP1 Update for Windows Vista。Visual Studio 2005 SP1修补Visual Studio 2005许多错误,并增强了一些性能,由于该补丁包要对Visual Studio 2005和Vista进行详细检测,安装比较耗时。

5.为了方便程序员开发.NET Framework 3.0下的新型应用,微软还推出了VS 2005 Extensions for .NET Framework 3.0(Workflow)和VS 2005 Extensions for .NET Framework 3.0(WCF&WPF)扩展组件,为Visual Studio 2005提供开发Windows Workflow Foundation、Windows Communication Foundation和Windows Presentation Foundation类型应用程序的模版。

6. 如果要学WPF,特别建议你安装Expression Blend(目前版本是Expression Blend 2 Agust Preview版)。这样,你可以在vs2005新建一个WPF项目,然后用Blend打开此项目,在Blend中对它进行界面设计和美化等工作,然后再 转到vs2005下进行程序编码(两个程序之间支持来回切换)。

三、WPF简介

Windows Presentation Foundation(WPF)是微软新一代图形系统,运行在.NET Framework 3.0架构下,为用户界面、2D/3D 图形、文档和媒体提供了统一的描述和操作方法。基于DirectX 9/10技术的WPF不仅带来了前所未有的3D界面,而且其图形向量渲染引擎也大大改进了传统的2D界面,比如Vista中的半透明效果的窗体等都得益于 WPF。微软还提供了专门的界面开发语言XAML(eXtensible Application Markup Language,可扩展应用程序标记语言),使得界面描述代码和程序代码得以分开,从而提高了开发效率并有利于团队开发。

XAML是微软为构建下一代应用程序界面而创建的一种新的基于XML的描述性语言,它可对WPF程序的所有界面元素进行定制,从而构成具有WPF风格的界 面,并最终形成一个组织良好的XML文档。由于它最新会被编译成.Net后台代码,因此它能够同后台进行逻辑处理的.NET语言如C#、J#、C++、 VB等协同工作,其工作性质类似于ASP.NET中的HTML。同HTML一样,XAML既可以直接编码,也可以由专门的工具生成。目前最好的XAML编 辑器就是上面我建议你安装的Expression Blend了,但你也可以使用Windows SDK for Windows Vista中的XAMLPad,但功能却显得非常简单。

实际上,大多数WPF程序将同时包含XAML代码和程序代码,首先使用XAML定义程序界面,然后再用.NET语言编写相应的逻辑代码。跟ASP.NET 类似,逻辑代码既可以直接嵌入XAML文件中,也可以将它保存为独立的代码文件。尽管XAML并非设计WPF程序所必须,按照传统方式使用程序代码来实现 界面依然有效,但是如果使用XAML,界面设计和逻辑设计可以完全分离,不但使程序的开发和维护更加方便,而且在团队开发中,可以使程序员专注于业务逻辑 的实现,而将界面设计交由专业人员来完成,从而使各类人员在项目中各尽其能各展其长,开发出功能强大、界面一流的WPF程序。

转载于:https://www.cnblogs.com/evonchang/archive/2008/06/13/1219871.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/436180.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何修改wince的网络配置

如何修改wince的网络配置呢? 首先,必须知道网卡驱动名字。在s3c2410上,名字叫“CS8900”,用工具连接上wince查看他的注册表。你将可以得到下面的东西。 [HKEY_LOCAL_MACHINE/Comm/CS8900] "DisplayName""CS8900&qu…

【转】extern “C“以及__declspec(dllexport) 讲解和def文件dll导出方法

转自:https://blog.csdn.net/qing666888/article/details/41135245 一,__ declspec(dllexport): 将一个函数声名为导出函数,就是说这个函数要被其他程序调用,即作为DLL的一个对外函数接口。通常…

php源码查找替换,php 替换模板中的 PHP源码标签字符方法

//替换php代码function RepPhpAspJspcode($string){global $public_r;if(!$public_r[candocode]){//$stringstr_replace("<?xml ","[!--ecms.xml--]",$string);$stringstr_replace("$stringstr_replace("\\>","\\>",$s…

【转】DICOM医学图像处理:浅析SWF、MWL、SPS、MPPS

转自&#xff1a;https://blog.csdn.net/zssureqh/article/details/40151107 背景&#xff1a; 最近重新花时间阅读了DICOM标准&#xff0c;顺带着看了一下HL7标准和IHE&#xff0c;对标题中提到的SWF、MWL、SPS和MPPS有了更进一步的认识&#xff0c;现将自己的理解整理出来&a…

Parallel Extensions CTP第二版发布

Parallel Extensions CTP第二版发布 LazyBee 2008年6月微软Parallel Extensions项目组发布了Parallel Extendsions CTP的第二个版本。这个版本主要包含以下组件&#xff1a; 1 任务并行库TPL(Task Parallel Library): 提供命令的方式将面向数据的操作以及轻量级的任务自动的运行…

wince中的背光灯控制

要控制背光灯就必须知道相关设置&#xff0c;以下是wince中背光灯的设置。在BL_ReadRegistry函数中被读取。 [HKEY_CURRENT_USER/ControlPanel/BackLight] "ACTimeout"dword:0000012c "UseExt"dword:00000001 "UseBattery"dword:00000001 …

Php点击更换封面,JavaScript_js实现点击图片改变页面背景图的方法,本文实例讲述了js实现点击图 - phpStudy...

js实现点击图片改变页面背景图的方法本文实例讲述了js实现点击图片改变页面背景图的方法。分享给大家供大家参考。具体实现方法如下&#xff1a;点击图片即改变页面的背景图片希望本文所述对大家的javascript程序设计有所帮助。相关阅读:C语言编程中统计输入的行数以及单词个数…

VistaDB 数据库,.NET的新选择

VistaDB 3.3 fully managed embedded database engine runs Nothing but .Net! Designed and built as a 100% managed code database engine. Now with TSQL Procs! 商业版&#xff0c;提供ADO.NET 2.0 的Provider。商业版。但是有 Express 版&#xff0c;可应用于非商业环境。…

wince中重启网卡

WCHAR Name[]_T("CS89001/0"); HANDLE m_hFileHandle CreateFile(_T("NDS0:"), 0, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, (HANDLE) INVALID_HANDLE_VALUE); if( m_hFileHandle INVALID_HANDLE_VALUE ) { //获得网卡名时打开设备错误 …

【转】DICOM的常用Tag分类和说明

转自&#xff1a;https://blog.csdn.net/inter_peng/article/details/46513847 1. 前言&#xff1a; 基于DICOM3.0标准的医学图像中&#xff0c;每一张图像中都携带着许多的信息&#xff0c;这些信息主要可以分为Patient, Study, Series和Image四类。每一个DICOM Tag都…

matlab电压稳定极限,电力系统电压稳定性的Matlab建模分析

Matlab软件作为一个编程效率高、程序设计灵活、图形功能强的工程实用的分析软件,在电力系统的仿真分析及相关计算中得以广泛应用,特别是其中的Simulink工具箱可以实现电力系统的模型建立及动态仿真[1].但是在实际应用中,特别是针对电力系统的动态过程分析,Simulink存在以下2个问…

串口通讯基础及S3C2410 UART控制器

数据通信的基本方式可分为并行通信与串行通信两种&#xff1a; 并行通信&#xff1a;是指利用多条数据传输线将一个资料的各位同时传送。它的特点是传输速度快&#xff0c;适用于短距离通信&#xff0c;但要求通讯速率较高的应用场合。 串行通信&#xff1a;是指利用一条传输线…

几个实用的Servlet应用例子-入门、cookie、session及上传文件

1Servlet可以被认为是服务端的applet&#xff0c;它被WEB服务器加载和执行&#xff0c;前端可以显示页面和获得页面数据&#xff0c;后台可以操纵数据库&#xff0c;能完成JavaBean的很多功能。在这里我较为详细的说说Servlet在Cookie&#xff0c;Session和上传文件上的应用&am…

【转】DICOM医学图像处理:DIMSE消息发送与接收“大同小异”之DCMTK fo-dicom mDCM

转自&#xff1a;https://my.oschina.net/zssure/blog/354816 背景&#xff1a; 从DICOM网络传输一文开始&#xff0c;相继介绍了C-ECHO、C-FIND、C-STORE、C-MOVE等DIMSE-C服务的简单实现&#xff0c;博文中的代码给出的实例都是基于fo-dicom库来实现的&#xff0c;原因只有一…

php记录登录时间,php记录 用户当前页面停留时间

onunload JS定时器 ajax 实现每秒写一次数据库肯定是不行的资源释放都来不及&#xff0c;使用js计时器&#xff0c;在离开页面时&#xff0c;调用ajax异步插入数据库&#xff0c;即不延迟跳转&#xff0c;也不会占用资源&#xff0c;插入完就释放了HTML onunload 事件属性定义…

WinCE驱动开发问题精华集锦

如何让系统加载自己写的驱动程序&#xff1f;两种办法&#xff1a; 1、在[HKEY_LOCAL_MACHINE/Drivers/BuiltIn]下添加注册键。 2、在应用程序中调用ActivateDeviceEx。 在一些文件中用分号来表示注释&#xff0c;例如下面的内容 ; CESYSGEN IF SERVERS_MODULES_HTTPD …

公司间交易学习笔记---概述

本系列笔记是我在学习公司间交易的过程中的随笔&#xff0c;有些是我自己的想法&#xff0c;内容可能跟教程有所出入&#xff0c;由于对AX的应用部分理解得很浅&#xff0c;所以如果错误还请多多指教。 为了处理集团公司中各个分公司之间的交易&#xff0c;AX采用了InterCompan…

【转】走进windows编程的世界-----对话框、文本框、按钮

一、对话框 1 对话框的分类 2 对话框的基本使用方式 3 对话框资源 4 有模式对话框的使用 int DialogBox( HINSTANCE hInstance, LPCTSTR lpTemplate, HWND hWndParent, DLGPROC lpDialogFunc ); 5 无模式对话框的使用 5.1 添加对话框资源 5.2 定义窗口处理函数 …

php接口datatype= text,关于php:dataType:“json”不起作用

我正在尝试使用数组中的json将多个变量从php文件发送回ajax。 php文件中的代码完美运行&#xff0c;并且应该像我的数据库一样完成所有操作。 但是当我在ajax中添加dataType&#xff1a;"json"时&#xff0c;php文件中就没有任何事情发生了。 我google了一下&#xf…

做饭记

小时候,听奶奶讲:最没出息的男人才要做饭,有出息的男人是应该赚钱养家的,而女人则是要做饭的. 于是一直对做饭没什么兴趣, 现在的生活每天都在代码,突然想学做饭,真的学了,才发现做饭可不是一件容易的事儿. 做饭的时候,发现自己可以全身心的投入到做饭的"艺术&quo…