我对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是独立的应用程序。如果应用程序的用户没有连接到Internet,那么它的重要性是什么?首先,为什么我们需要这个?
第一行和第二行有什么区别? xmlns:x
代表什么?
此外,我在尝试访问该URI时看到此错误
处理您的请求时出错
这是什么意思?
答案 0 :(得分:3)
XAML命名空间就像C ++或C#/ VB.NET中的命名空间一样,它的目的是对类和其他项进行逻辑分组。
在WPF / XAML中,您有一个名称空间xmlns=http://...
,它是WPF默认为您提供的控件的名称空间。 xmlns:x
是一个命名空间,用于提供一些特殊值,例如x:Null
来表示null
- 值。
您也可以定义自己的控件并将它们命名为TextBox
,但是您应该为这些控件创建一个自己的命名空间,以免干扰全局命名空间。
命名空间定义中提到的URL与实际的Internet连接或实际的现有URL无关,这只是可以正确区分命名空间。
关于这个主题的MSDN有一篇很好的文章。
答案 1 :(得分:1)
这就是这些命名空间的命名方式。就这样。你不应该把它们视为uri。 至于xmlns vs xmlns:x - 第一个是默认命名空间,它包含wpf控件,第二个是命名空间whcih包含一些额外的声明(x:Type,x:Name等)。
答案 2 :(得分:0)
我知道这是一个旧线程,但我认为答案中提供的信息并不完全正确。您看到的URL不是命名空间,而是分组为一个的命名空间集合。以下是.net中的一些名称空间,它们由默认名称空间(url)
映射System.Windows,System.Windows.Automation,System.Windows.Controls,System.Windows.Controls.Primitives,System.Windows.Data,System.Windows.Documents