如何将复杂的BAML反编译为有效的XAML

Qui*_*uiz 5 c# wpf xaml baml

我试过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()
Run Code Online (Sandbox Code Playgroud)

我为.Net Reflector尝试了Baml Viewer,但它无法生成有效的XAML.

主要问题是绑定引用错误的StaticResource.

例如(namedViews是CollectionViewSource):

   Visibility="{Binding Path=Value, Converter={StaticResource namedViews}}"
   ToolTip="{StaticResource namedViews}"
Run Code Online (Sandbox Code Playgroud)

还有哪些其他应用程序可以反编译BAML?BAML Viewer的任何补丁?

Pet*_*ter 6

不确定这是否对您有所帮助,但如果您可以运行该应用程序,则可以使用Snoop来运行WPF应用程序的结构.

其他选择:

我只尝试过Snoop并非常喜欢它,但这似乎并没有解决你的问题.