Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 为什么XAML名称空间是URI?它们的用途是什么?_Wpf_Xaml_Xml Namespaces_Wpf 4.0 - Fatal编程技术网

Wpf 为什么XAML名称空间是URI?它们的用途是什么?

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是独立的

我对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:x
    代表什么

  • 另外,我在尝试访问该URI时看到了这个错误

    处理您的请求时出错

    这是什么意思


  • 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的文章:)干杯