为什么存在URLS的XAML命名空间?
在代码顶部的Silverlight / WPF xaml中,您有名称空间/导入类型声明。 我可以很容易地理解这些声明如何指向一个程序集,从而可以从中加载类型等。 我不明白的(以及我迄今为止还没有真正想过的)是这些命名空间在指向url时的工作方式,例如
http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit
看着这个URL给我一个错误,所以没有告诉我任何东西。
您可以在引用程序集的代码中使用一个属性,将Uri映射到您的代码命名空间:
[XmlnsDefinitionAttribute("http://yournamespace/", "Your.Assembly.Namespace")]
您可以包含多个这些属性,通常在您的AssemblyInfo.cs
,允许Xaml中的单个Uri名称空间引用多个代码名称空间。
这使得您的名称空间声明更加紧凑(因为您可以省略程序集名称)。 它还允许您在重新组织组合引用程序集中的名称空间时灵活性,而不会打破标记。
编辑:例如,如果您将指示器指向PresentationCore
程序集,则可以在程序集级别看到如下所示的属性:
[assembly:
XmlnsDefinition( "http://schemas.microsoft.com/netfx/2007/xaml/presentation"
, "System.Windows.Ink") ]
这是Uri导入如何映射到代码名称空间的方式。
据我所知他们只是约定俗成的URL,任何唯一的标识符都可以。
如果您检查HTML文档类型,它们是完全相同的,因为在实际上并未加载:)例如:http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd或http://www.w3 .ORG / TR / HTML4 / strict.dtd
这是毫无意义的,但为什么这些网址上没有任何内容,可以带上一些实际的参考资料。
链接地址: http://www.djcxy.com/p/34567.html