<a href="http://msdn.microsoft.com/zh-cn/library/cc189061%28v=vs.95%29.aspx">http://msdn.microsoft.com/zh-cn/library/cc189061%28v=vs.95%29.aspx</a>
在大多數 Silverlight XAML 檔案的根元素中都可以找到兩個 XML 命名空間 (xmlns) 映射,本主題進一步說明它們的存在和用途。同時還介紹如何生成類似的映射,以便使用在您自己的代碼中和/或單獨的程式集(例如在 Silverlight SDK 中作為用戶端庫分發的程式集)中定義的元素。
本主題包括下列各節。
<a href="http://msdn.microsoft.com/zh-cn/library/cc189061%28v=vs.95%29.aspx#The_WPF_and_XAML_Namespace_Declarations">Silverlight 和 XAML 語言 XAML 命名空間聲明</a>
<a href="http://msdn.microsoft.com/zh-cn/library/cc189061%28v=vs.95%29.aspx#Mapping_To_Custom_Classes_and_Assemblies">将字首映射到 CLR 命名空間和程式集</a>
<a href="http://msdn.microsoft.com/zh-cn/library/cc189061%28v=vs.95%29.aspx#seeAlsoToggle">相關主題</a>
<a></a>
<a href="http://msdn.microsoft.com/">Silverlight 和 XAML 語言 XAML 命名空間聲明</a>
在很多 XAML 檔案的根元素中都存在兩個 xmlns 聲明。第一個聲明将 Silverlight 核心 XAML 命名空間映射為預設命名空間:
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
請注意,這是與 WPF 所使用的預設命名空間相同的 XAML 命名空間。
第二個聲明為 XAML 定義的語言元素映射一個單獨的 XAML 命名空間,通常将它映射為 x: 字首:
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
此 xmlns 值還與 WPF 使用的 xmlns 值相同。
這些聲明之間的關系是:XAML 是語言定義,而 Silverlight 是将 XAML 用作語言并定義在 XAML 中引用其類型所用特定詞彙的一個實作。特别要指出的是,Silverlight 使用 XAML 語言元素的一個嚴格子集。XAML 語言指定特定語言元素,每個元素都應能通過針對 XAML 命名空間執行的 XAML 處理器實作進行通路。Silverlight 還使用 WPF 中實作的 XAML 語言元素集的子集。
<a href="http://msdn.microsoft.com/">将字首映射到 CLR 命名空間和程式集</a>
您可以使用 xmlns 字首聲明中的一系列标記将 XAML 命名空間映射到程式集以及該程式集内的 CLR 命名空間,這種映射方式類似于将 XAML 命名空間值映射到 x: 字首所采用的方式,不同的是本映射方式顯式聲明程式集和 CLR 命名空間而不是指定 URI。
文法使用下列可能的命名标記和值:
clr-namespace: 在包含要對 XAML 用法公開的公共類型的程式集中聲明的公共語言運作時 (CLR) 命名空間。
assembly= 是指包含部分或全部引用的 CLR 命名空間的程式集。
請注意,分隔 clr-namespace 标記和其值的字元是冒号 (:),而分隔 assembly 标記和其值的字元是等号 (=)。這兩個标記之間使用的字元是分号。不要在映射值中的任意位置包括空格。例如:
xmlns:custom="clr-namespace:SDKSample;assembly=SDKSampleLibrary"
映射到 SDK 用戶端庫程式集
說明:
映射到自定義程式集
對于您所建立然後作為基于 Silverlight 的應用程式的一部分進行分發的任何自定義程式集,可以映射字首來引用這種自定義程式集中包含的類型。此同一過程還可以适用于您的應用程式可以分發的任何第三方程式集,例如提供第三方控件的庫。
例如,若要映射 custom1 字首(該字首使您能引用在名為 Custom 的程式集中定義的 CustomClasses 命名空間),并将來自該命名空間/程式集的類用作 XAML 中的對象元素,則您的 XAML 頁應對根元素包含以下映射:
xmlns:custom1="clr-namespace:CustomClasses;assembly=Custom"
當您在 XAML 中定義新 xmlns 值時,Visual Studio XAML 編輯功能将顯示一個有助于簡化映射過程的下拉項。為了達到最佳效果,請先從項目引用相關程式集,再從該程式集映射字首。
映射到目前程式集
不需要映射分部類;如果您希望在 XAML 中将自定義類作為元素引用,隻需要映射應用程式中頁的非分部類。
本文轉自cnn23711151CTO部落格,原文連結:http://blog.51cto.com/cnn237111/624441 ,如需轉載請自行聯系原作者