我一直在拼命地寻找一种在WPF应用程序中显示HTML的简单方法。
有几个选择:
1)使用WPF WebBrowser控件
2)使用Frame控件
3)使用第三方控件
但是,我遇到了以下问题: 1)WPF WebBrowser控件不是真正的WPF(它是包装在WPF中的Winforms控件)。我已经找到了一种方法来创建一个包装器,并使用DependencyProperties通过绑定和属性更改导航到HTML文本。但是,如果您将Winforms控件放入WPF滚动查看器中,则不会尊重z-index,这意味着winform始终位于其他WPF控件之上。这非常让人恼火,我试图通过创建WindowsFormsHost来解决它,该WindowsFormsHost托管一个ElemenHost等等,但这显然完全破坏了我的绑定。
2)Frame控件在显示HTML内容时存在相同的问题。不可选。
3)我没有找到原生的WPF HTML显示方式。所有选项都是Winforms,并具有上述问题。
目前我唯一的出路是使用Microsoft的有缺陷的HtmlToXamlConverter,有时会严重崩溃。(MSDN)
有没有人有关于如何在WPF中显示HTLM而不出现这些问题的其他建议?
对于这个长问题,抱歉,希望有人知道我在说什么...