代码之家  ›  专栏  ›  技术社区  ›  Yes - that Jake.

运行时如何处理XAML命名空间?

  •  1
  • Yes - that Jake.  · 技术社区  · 15 年前

    在每个XAML文档中,都有一个或多个命名空间声明。IE:

    <Window x:Class="WindowsApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1 Height="300">
    

    声明的形式是一个URL,这让我不禁要问:当应用程序加载时,运行时是否真的从这些URL中检索信息?如果没有互联网连接会发生什么?

    2 回复  |  直到 15 年前
        1
  •  2
  •   Community CDub    8 年前

    这只是一个Standqard XML名称空间,与XAML完全无关。它实际上只是这个特定XML的唯一标识符;从这个URL中检索不到数据,实际上,它甚至不需要是一个URL。

    this 上一篇文章解释了XML中的名称空间是什么,以及为什么实际的名称空间文本本身没有真正的结果。

        2
  •  2
  •   chuckj    15 年前

    不。运行时不会取消对URI的引用,它们只是用作可读的全局唯一标识符。事实上,他们使用HTTP协议只是一种约定。它们遵循W3C中的XML名称空间标准。

    URI引用使用WPF程序集中的xmlnsDefinitionAttribute定义定义的URI。XAML读取器使用这些属性将这些程序集中的clr命名空间组合成一个组合的XML命名空间。