显然,在 WinRT 对 XAML 的采用中,XML 命名空间支持发生了变化。那么,有没有办法在 WinRT 中使用 URI 作为命名空间?例子:
xmlns:mine="http://myuri"
并让mine
命名空间指向我的一个程序集?我已经看到这是如何在Silverlight中完成的。现在它在 WinRT 中是如何工作的?
显然,在 WinRT 对 XAML 的采用中,XML 命名空间支持发生了变化。那么,有没有办法在 WinRT 中使用 URI 作为命名空间?例子:
xmlns:mine="http://myuri"
并让mine
命名空间指向我的一个程序集?我已经看到这是如何在Silverlight中完成的。现在它在 WinRT 中是如何工作的?
XmlnsDefinitionAttribute在 WinRT XAML 中不可用,但也许您可以实现IXamlMetadataProvider并定义XmlnsDefinition来实现相同的效果。我昨天只是想知道这个。显然您可以实现该接口,并且 XAML 解析器将在解析您的 XAML 时使用您的实现。如果您检查您的 obj 文件夹,您可以看到 VS 如何自动生成一个 XamlTypeInfo.g.cs 文件,该文件用于在不使用反射的情况下解析 XAML。它可能会对如何实现您自己的版本有所帮助。让我们知道怎么回事。
在以下位置找到了一些令人鼓舞的信息: http ://www.sharpgis.net/post/2013/05/30/Decoding-the-IXamlMetadataProvider-interface-Part-1
因此,自动生成的代码自动检测到我的自定义库嵌入了第二个元数据提供程序,并将其注入此列表以及自动生成的列表中。所以看起来我们应该能够提供我们自己的实现,我稍后再谈。