2013-03-07 51 views
4

我對XML命名空間持懷疑態度。我不知道爲什麼我們需要在所有XAML應用程序中使用這些命名空間。爲什麼XAML命名空間的URI和它們的用途是什麼?

xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation 
xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml 

我明白了命名空間的概念在System.Text,System.Linq的,等我們使用,在我們班,因爲我們有一個坐在同一臺計算機上的類庫。

問題:

  1. 它代表了一些URI。所以WPF是獨立的應用程序。如果應用程序的用戶沒有連接到Internet,那麼它的意義是什麼?首先,爲什麼我們需要這個?

  2. 第一行和第二行之間的區別是什麼? xmlns:x代表什麼?

  3. 另外,我在嘗試訪問該URI

    出錯處理您的請求

    這是什麼意思看這個問題?

回答

2

XAML-名稱空間就像C++或C#/ VB.NET中的名稱空間一樣,它用於邏輯分組類和其他項。
在WPF/XAML中,您有一個名稱空間xmlns=http://...,它是默認情況下WPF爲您提供的控件的名稱空間。 xmlns:x是一個命名空間,用於提供一些特殊值,如x:Null來表示null值。
您也可以定義自己的控件並將它們命名爲TextBox,但是您應該爲這些控件創建一個自己的名稱空間,以免干擾全局名稱空間。
名稱空間定義中提到的URL與實際的互聯網連接或真實存在的URL無關,只是名稱空間可以被正確區分。 關於此主題,有一篇關於MSDN的好文章。

+0

謝謝Bash。然而,我真的不明白爲什麼微軟必須在XAML中複雜的東西,而在.NET的C#中有不同的東西。因爲理想情況下在C#或.NET中我們使用「系統」。格式爲內置命名空間。同樣,這兩個網址也是您所說的內置類型。而「.NET的目的是爲了讓開發人員不必記住許多類,如MFC等等,但要使用單個BASE CLASS LIBRARY」。我想知道他們爲什麼再次將開發人員與xaml中的其他範例混淆起來。它並不令人鼓舞。 – Learner 2013-03-07 12:31:28

+3

@Divine這與.NET本身幾乎沒有任何關係,而是與XML有關。 XAML基於XML,因此遵守它的規則。 – 2013-03-07 12:35:43

+0

是的,我同意你的看法,它必須用xml做比.NET更多的事情。那麼,我認爲它的方式:)謝謝Bash,你的文章幫助我,我也會通過該MSDN文章:)乾杯 – Learner 2013-03-07 12:37:12

1

這是命名空間的命名方式。就這樣。你不應該把它們當作uri。 至於xmlns vs xmlns:x - 第一個是默認命名空間,它包含wpf控件,第二個是命名空間,包含一些額外的聲明(x:Type,x:Name等)。

+0

謝謝你Nik :)乾杯 – Learner 2013-03-07 12:32:16

0

我知道這是一個古老的線程,但我認爲答案中提供的信息並不完全正確。你看到的url不是一個命名空間,而是一個命名空間的集合。下面是一些來自.net的命名空間,默認名稱空間(url)映射。 Data,System.Windows.Documents

相關問題