[英]XAML (WPF) Namespace?
我一直在嘗試閱讀XAML命名空間和xlmnr的用法,這有點模糊。 它要么太技術性,要么太簡單化。
我的問題與此處提出的問題有點相似,但我的問題更多地是與附加到它的x部分有關。
所以:
xmlns:x
是否表示輔助名稱空間? 即非默認值? 我可以有多個以上的人嗎?如果可以,搜索正確的班級的順序是什么? 當然,這假定xmlns
是默認值。 x:name
而不是name
附加到標簽的含義和區別是什么? 編輯:
原來,我想我完全誤解了它。 沒有像C# using
語句或Java的import
這樣的搜索層次。 xmlns:<name>
更像是一種定義名稱的方法,您可以訪問整個類樹。 另一方面, x
是定義XMAL相關內容的常規方法,但不是必需的。
誰能確認?
由於使用了底層XML技術,因此必須在XAML中使用XML名稱空間。
xmlns:x
確實創建了另一個名為x
命名空間。 您可以使用x:...
從中引用屬性等。
如果僅使用name
而不是x:name
則它將引用默認名稱空間。
您可以根據需要在XAML中聲明盡可能多的名稱空間。
標准的x
名稱空間公開了XAML的常用功能-基本上是各種在代碼中實現的事物的映射,以使它們在XAML上下文中具有含義。 對於x:Name
(與x:name無關),XAML編譯過程將基於x:Name
值創建一個代碼隱藏字段。 非-X Name
屬性是代表一個屬性Name
上WPF屬性FrameworkElement
基類,在大多數情況下,以同樣的方式設置x:名稱,你不能在相同的元素分配兩者。 有關更多信息,請參見此問題 。
對於問題的第一部分:您可以將x
更改為所需的任何值,但不應該保持一致性,並且還可以(並且將在實踐中)添加其他xmlns:
聲明,主要用於訪問代碼中實現的其他功能。 例如,如果您在Blend中工作,通常會看到添加了xmlns:d
,其中包含了一堆設計師特定的屬性。 您需要引用的任何代碼,例如數據類型,轉換器等,通常都將使用xmlns clr-namespace
指定了clr-namespace
和assembly
以映射到代碼中的.NET命名空間:即xmlns:local="clr-namespace:WpfApplication1"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.