自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

.NET 4.0引入XAML 2009 不面向WPF用戶

開發(fā) 后端
在PDC 2009上,Michael Shim和Rob Relyea介紹了微軟對XAML的未來規(guī)劃。目前.NET中有兩個XAML實現(xiàn),一個針對Windows Workflow,另一個針對Windows Workflow,因此想要使用XAML的開發(fā)者需要WF或是WPF。

在.NET 4中,微軟于新的System.XAML程序庫中加入了一個獨立的XAML引擎。該版本只需System.XML與核心運行時即可,這對于那些想要使用XAML但又不想加載Fx程序庫的應用來說再適合不過了。

#T#

微軟對 .NET 4中的XAML Nodes Streams進行了大幅度的提升。所謂node stream其實就是一個事件驅動的API,用于與結構化數(shù)據(jù)協(xié)同工作。讀者可能對基于XML的SAX風格的程序庫比較熟悉。除了直接處理之外,在其他框架加載XAML Node Streams時它還可以修改XAML。

作為.NET 4重構的一部分,微軟極大地提升了解析器的可擴展性。在.NET 3中,擴展點僅僅局限于IXamlTypeResolver、IUriConext和IProvideValueTarget。新的解析器可以通過這些接口注入很多其他的服務。但這些接口并非都是新引入的,只是此前沒有公開而已,他們是:

IRootObjectProvider
IXamlNameResolver
IXamlNameProvider
IAmbientProviders
IDestinationTypeProvider
IXamlNamespaceProvider
INamespacePrefixLookup
IXamlSchemaContextProvider
IXamlObjectWriterFactory
就像XML一樣,XAML也有兩類解析API。除了XAML Node Streams之外,還將有一個XAML DOM。憑借XAML Document Object Model,開發(fā)者可以一次性處理整個XAML樹。開發(fā)者不僅可以直接處理節(jié)點樹,還能夠訪問LINQ provider。我們可以聯(lián)合使用XAML Node Streams和XAML DOM解析器為靜態(tài)分析工具如FxCOP增加支持。

到目前為止,我們僅僅談到了解析工具,實際上微軟還發(fā)布了語言的一個新版本,叫做XAML 2009。XAML 2009將完全支持泛型、非默認構造方法、工廠方法、內(nèi)建類型并且可以定義新的屬性。

需要注意的是 .NET 4、VS 2010和Blend中的編譯器與設計器將不會在此次發(fā)布中支持XAML 2009。XAML 2009只能用于“l(fā)oose XAML”,比如Workflow Foundation所用的小個配置文件。其中的主要原因在于WPF設計器已經(jīng)擁有了自己的解析器,而重寫該解析器以使用這個公共解析器將要花費大量時間。

Silverlight將與.NET生態(tài)圈中的其余部分使用同樣的XAML解析器。這么做是考慮到更好的錯誤檢測以及未來對更多的XAML 2006和2009特性的支持。Silverlight依然需要一個輕量級的運行時,因此微軟采取逐步遞進而不是大躍進的方式來增加特性。

到底通過什么可以讓Silverlight使用統(tǒng)一的XAML解析器呢?答案就是之前提到的IXamlSchemaContextProvider。通過創(chuàng)建一個Silverlight可以接受的特定于XAML子集的一個schema context,工具就無需對Silverlight和基于WPF的XAML之間的差別進行硬編碼了。據(jù)說Expression Blend團隊對這個功能尤為感興趣。

責任編輯:彭凡 來源: InfoQ
相關推薦

2011-09-05 11:04:25

Ubuntu 11.1LightDM

2024-09-09 17:00:25

XAML開發(fā)

2015-03-18 14:02:25

生物識別認證Windows10

2009-04-27 12:26:45

AMD單核Nehalem

2023-03-20 21:44:10

微軟GPT-4AI

2009-12-25 16:05:24

WPF 4.0特點

2021-07-24 13:20:40

iOS應用系統(tǒng)

2024-09-02 10:21:21

2022-01-24 16:06:58

Linux 5.17RTLA工具

2023-03-30 09:59:43

2018-03-09 10:19:09

Windows 10安裝包GitHub

2009-09-18 12:15:53

GoogleChrome 3.0HTML 5

2022-06-19 23:32:54

Windows 11隱私儀表板安全

2015-02-04 10:49:13

Visual C++C++Windows API

2012-01-05 10:30:18

微軟Windows 8

2013-07-01 13:41:09

iOS7WWDC姿勢控制

2024-10-31 10:29:28

2021-10-02 10:24:35

Android端Firefox 93密碼

2010-01-22 09:52:32

JPA 2.0Java EE 6

2009-12-22 09:57:36

Java EE 6RESTfulJAX-RS
點贊
收藏

51CTO技術棧公眾號