Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 将Baml文件转换为可用于解析的XDocument_Wpf_Unit Testing_Xaml_Baml - Fatal编程技术网

Wpf 将Baml文件转换为可用于解析的XDocument

Wpf 将Baml文件转换为可用于解析的XDocument,wpf,unit-testing,xaml,baml,Wpf,Unit Testing,Xaml,Baml,我希望能够针对Xaml编写单元测试,以查找不正确的模式。我们遇到的问题是Xaml仍然有效,否则编译和“工作”良好,但可能会导致隐藏问题或缺乏一致性。为了帮助解决这个问题,我们需要针对这些文件编写单元测试 一个简单的例子:如果您定义了一个网格,并且网格列绑定到基础对象上的数字字段,那么网格的列标题应该根据我们的内部标准具有适当的右对齐模板。在定义中不使用模板将产生一个左对齐的列标题,除了我们的内部标准之外,它不会真正破坏任何东西。考虑到这基本上是xml,我应该能够轻松地编写一个测试来查询xml元素

我希望能够针对Xaml编写单元测试,以查找不正确的模式。我们遇到的问题是Xaml仍然有效,否则编译和“工作”良好,但可能会导致隐藏问题或缺乏一致性。为了帮助解决这个问题,我们需要针对这些文件编写单元测试

一个简单的例子:如果您定义了一个网格,并且网格列绑定到基础对象上的数字字段,那么网格的列标题应该根据我们的内部标准具有适当的右对齐模板。在定义中不使用模板将产生一个左对齐的列标题,除了我们的内部标准之外,它不会真正破坏任何东西。考虑到这基本上是xml,我应该能够轻松地编写一个测试来查询xml元素,检测数字列的存在,并检查以确保文件还定义了一个右对齐的标题模板。这样,我就不必依赖开发人员或QA来覆盖像这样容易测试的东西


我可以在单元测试过程中访问程序集,并且可以通过读取清单资源流来访问所有baml资源文件。但我不知道如何将它们读入有用的格式,以便加载到XDocument中进行解析和阅读。有人这样做过吗?我试过使用Baml2006Reader等。。。没有任何成功

如果要将BAML转换为XAML,可以在GitHub上查看以下类


它使用反编译BAML。

如果您想将BAML转换为XAML,可以在GitHub上查看以下类


它使用a来反编译BAML。

这就完成了。非常感谢你在这里指点我。这正是我所需要的,它做到了。非常感谢你在这里指点我。正是我需要的。