Wpf 为什么XAML名称空间是URI?它们的用途是什么?
我对XML名称空间持怀疑态度。我不知道为什么我们在所有XAML应用程序中都需要这些名称空间Wpf 为什么XAML名称空间是URI?它们的用途是什么?,wpf,xaml,xml-namespaces,wpf-4.0,Wpf,Xaml,Xml Namespaces,Wpf 4.0,我对XML名称空间持怀疑态度。我不知道为什么我们在所有XAML应用程序中都需要这些名称空间 xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml 我理解名称空间的概念,如System.Text、System.LINQ等。我们在类中使用名称空间,因为类库位于同一台计算机上 问题: 它代表一些URI。所以WPF是独立的
xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation
xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml
我理解名称空间的概念,如System.Text、System.LINQ等。我们在类中使用名称空间,因为类库位于同一台计算机上
问题:
xmlns:x
代表什么XAML命名空间就像C++或C/*/VB.NET中的命名空间,它的目的是逻辑地分组类和其他项。 在WPF/XAML中,您有一个名称空间
xmlns=http://...
这是WPF默认为您提供的控件的名称空间xmlns:x
是一个名称空间,提供一些特殊值,如x:Null
来表示Null
-值。您也可以定义自己的控件并将其命名为
TextBox
,但您应该为这些控件创建自己的命名空间,以免与全局命名空间发生冲突。名称空间定义中提到的URL与实际的internet连接或实际存在的URL无关,只是名称空间可以正确区分。
关于这个主题有一篇很好的文章。这是这些名称空间的命名方式。这就是全部。您不应该将它们视为uri。
对于xmlns与xmlns:x,第一个是默认名称空间,其中包含wpf控件,第二个是名称空间,其中包含一些附加声明(x:Type、x:Name等) 我知道这是一条老线索,但我认为答案中提供的信息并不完全正确。您看到的url不是名称空间,而是一组名称空间的集合。下面是.net中的一些名称空间,它们通过默认名称空间(url)进行映射
System.Windows,System.Windows.Automation,System.Windows.Controls,System.Windows.Controls.Primitives,System.Windows.Data,System.Windows.Documents谢谢大家。然而,我真的不明白为什么MS必须在XAML中处理复杂的事情,而在C#of.NET中处理不同的事情。因为理想情况下,在C#或.NET中,我们对内置名称空间使用“System.”格式。同样,这两个URL也是您所说的内置类型。而“.NET的真正目的是让开发人员不必记住很多类,比如MFC之类的东西,而只需要使用一个基类库”。我想知道为什么他们又把开发人员和xaml中的其他范例混淆了。这当然不令人鼓舞,因为这与.NET本身几乎没有任何关系,而是与XML有关。XAML是基于XML的,因此遵守它的规则。是的,我同意你的观点,它必须更多地使用XML而不是.NET。好吧,我是这么认为的:)谢谢你,巴什,你的帖子对我有帮助,我也会浏览MSDN的文章:)干杯