我尝试了ILSpy,但失败了:
System.NotImplementedException: StaticResourceStart
в Ricciolo.StylesExplorer.MarkupReflection.XmlBamlReader.ProcessNext()
в Ricciolo.StylesExplorer.MarkupReflection.XmlBamlReader.ReadInternal()
в Ricciolo.StylesExplorer.MarkupReflection.XmlBamlReader.Read()
в System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
в System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
в System.Xml.Linq.XDocument.Load(XmlReader reader, LoadOptions options)
в ILSpy.BamlDecompiler.BamlResourceEntryNode.LoadIntoDocument(IAssemblyResolver resolver, AssemblyDefinition asm, Stream stream)
в ILSpy.BamlDecompiler.BamlResourceEntryNode.LoadBaml(AvalonEditTextOutput output)
в ILSpy.BamlDecompiler.BamlResourceEntryNode.<>c__DisplayClass3.<View>b__1()
我尝试对.Net Reflector使用Baml Viewer,但无法生成有效的XAML。
主要问题是与绑定(bind)对错误的StaticResource的引用有关。
例如(namedViews是CollectionViewSource):
Visibility="{Binding Path=Value, Converter={StaticResource namedViews}}"
ToolTip="{StaticResource namedViews}"
还有哪些其他应用程序可以反编译BAML? BAML查看器有补丁吗?
最佳答案
不确定这是否对您有帮助,但是如果您可以运行该应用程序,则可以使用Snoop贯穿WPF应用程序的结构。
其他选项:
我只尝试过Snoop并非常喜欢它,但这似乎并不能解决您的问题。
关于c# - 如何将复杂的BAML反编译为有效的XAML,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6355873/