如何将XBF(XAML二进制格式)转换为XAML

时间:2013-11-06 13:27:03

标签: windows-8.1

在Windows 8.1版本中,有一些新的API更改/已添加。根据新增功能,有一项称为“XAML二进制格式”的新功能可以提高屏幕渲染的性能。 XamlBinaryWriter类负责转换为XAML二进制格式。所有XAML文件都将转换为XBF。有没有人尝试将XBF文件转换为XAML文件。我对XAML文件有一些依赖。如果没有XAML格式,我无法继续。请告诉我如何将XBF转换为XAML文件。

1 个答案:

答案 0 :(得分:4)

作为起点,下载并安装Microsoft的.NetNative,作为该东西的一部分安装的ReducerEngine.dll包含一些primitive implementation反编译器。

然而,MS'实现非常差,它甚至不支持XAML命名空间。您可以使用Microsoft的实现来学习XBF文件的结构,以便进行反编译,但我建议您实现自己的解决方案。它并不难,我的12个C#文件中有大约1000行代码。

XBF文件相当简单。它们包含一个固定的标题,后跟6个查找表(字符串,程序集,类型名称空间,类型,属性,XML名称空间),后跟DOM树部分,其中对象通过整数键引用这些表中的值。

P.S。我对此最有趣的问题是,为什么微软选择重新发明轮子而不是使用他们的.NET Binary XML format或其子集?他们有多年的二进制XML实现,从技术上讲,它的格式比XBF好。