gpt4 book ai didi

xaml - 为什么 XAML 命名空间是 URL?

转载 作者:行者123 更新时间:2023-12-02 07:52:59 28 4
gpt4 key购买 nike

在 Silverlight/WPF xaml 中,代码顶部有命名空间/导入类型声明。我可以很容易地理解这些声明如何指向程序集,以便可以从中加载类型等。我不明白(到目前为止我还没有真正考虑过)的是这些命名空间在指向 url 时如何工作,例如

http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit

查看此 URL 会出现错误,因此不会告诉我任何信息。

最佳答案

an attribute you can use在将 Uri 映射到代码命名空间的引用程序集的代码中:

[XmlnsDefinitionAttribute("http://yournamespace/", "Your.Assembly.Namespace")]

您可以包含多个这些属性(通常在 AssemblyInfo.cs 中),从而允许 Xaml 中的单个 Uri 命名空间引用多个代码命名空间。

这使您的命名空间声明更加紧凑(因为您可以省略程序集名称)。它还允许您灵活地重新组织引用的程序集中的命名空间,而不会破坏标记。

编辑:例如,如果您将 Reflector 指向 PresentationCore 程序集,您可以在程序集级别看到如下属性:

[assembly: 
XmlnsDefinition( "http://schemas.microsoft.com/netfx/2007/xaml/presentation"
, "System.Windows.Ink") ]

这就是 Uri 导入映射到代码命名空间的方式。

关于xaml - 为什么 XAML 命名空间是 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5390033/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com