全flash網(wǎng)站欣賞百度搜索引擎優(yōu)化指南最新版
- 1. 如何在XAML里引用類庫中的名稱空間和類
- 2. 小結(jié)
1. 如何在XAML里引用類庫中的名稱空間和類
首先需要記住一點:把類庫引用到項目中是引用其中名稱空間的物理基礎(chǔ),無論是C#還是XAML都是這樣。
一旦將一個類庫引用進程序,就可以引用其中的名稱空間。
假設(shè)我的類庫程序集名為MyLibrary.dll,其中包含Common和Controls兩個名稱空間,而且已經(jīng)把這個程序集引用進WPF項目,那么在XAML中引用這兩個名稱空間的語法是:
xmlns:映射名=“clr-namespace:類庫中名稱空間的名字;assembly-類庫文件名”
對于MyLibrary.dll里的兩個名稱空間,XAML中的引用會是:
xmlns:common="clr-namespace:Common;assembly=MyLibrary" xmlns:controls="clr-namespace:Controls;assembly=MyLibrary"
讓我們分析一下XAML引用名稱空間的語法。
-
xmlns是用于在XAML中聲明名稱空間的Attribute,它從XML語言繼承而來,是XMLNamespace的縮寫。
-
冒號后的映射名是可選的,但由于可以不加映射名的默認名稱空間已經(jīng)被WPF的主要名稱空間占用,所以所引用的名稱空間都需要加上這個映射名。映射名可以根據(jù)喜好自由選擇,
但團隊內(nèi)部最好使用一致的命名。一個建議就是使用類庫中名稱空間的原名或者縮寫。 -
引號中的字符串值確定了你要引用的是哪個類庫以及類庫中的哪個名稱空間。
一旦我們將類庫中的名稱空間引入XAML中,我們就可以在XAML中使用這些名稱空間里的類。語法格式是:
<映射名:類名>…<映射名:類名>
例如使用Common和Controls中的類,代碼是這樣:
<common:MessagePanel x:Name="windowl"><controls:LedButton x:Name="buttonl">
附加一點額外的小知識。我們發(fā)現(xiàn),XAML中引用名稱空間的語法與C#不太一樣。最大的差別就是XAML需要為被引用的名稱空間添加一個映射名,用這個映射名來代表被引用的名稱空間。
其實,C#也可以這樣引用名稱空間,只是不經(jīng)常用罷了。比如,在C#中引用Common和Controls名稱空間時可以這樣寫:
這種寫法在名稱較長的名稱空間中有同名類時比較有用。
using Cmn=Common; using Ctl=Controls;
2. 小結(jié)
XAML系列文章:
WPF1-從最簡單的xaml開始
WPF2-在xaml為對象的屬性賦值
WPF3-在xaml中引用其他程序集的名稱空間
WPF4-代碼后置
WPF5-x名稱空間
至此,通過幾篇博文的討論,我們已經(jīng)走馬觀花地了解了XAML的基本語法。知識雖然不多,但足以保障我們寫出美觀的程序。要提醒大家的是,XAML是一種很靈活的語言,特別是一些用于簡化代碼的縮略寫法。這些看上去比較奇怪的寫法基本上無法系統(tǒng)地用章節(jié)來描述,只能依靠我們在實際工作中慢慢積累。不過不用擔(dān)心,一般情況下比較復(fù)雜的代碼都能使用前面學(xué)過的語法解釋清楚。