我一直在拼命寻找在WPF应用程序中显示HTML的简单方法.有一些选项:
1)使用WPF WebBrowser控件
2)使用Frame Control
3)使用第三方控件
但是,我遇到了以下问题:1)WPF WebBrowser控件不是真正的WPF(它是一个包装在WPF中的Winforms控件).我找到了一种为此创建包装器的方法,并使用DependencyProperties导航到带有绑定和propertychanged的HTML文本.这个问题是,如果你在WPF scrollviewer中放置Winforms控件,它不会尊重z-index,这意味着winform始终位于其他WPF控件之上.这非常烦人,我试图通过创建一个承载ElemenHost等的WindowsFormsHost来解决它.但这显然完全破坏了我的绑定.
2)如果显示HTML内容,则帧控制具有相同的显示问题.不是一种选择.
3)我还没有找到WPF的原生HTML显示.所有选项都是winforms,并且存在上述问题.
我现在唯一的出路就是使用微软的HtmlToXamlConverter,它有时会很难崩溃.(MSDN)
有没有人对如何在WPF中显示HTLM有任何其他建议,没有这些问题?
抱歉这个长期问题,希望有人知道我在说什么......
我的目标是在我的 WPF 应用程序中显示带有样式的 HTML 内容。我从 API 获取 HTML 内容作为响应。我需要在框架中显示内容(最好是文本块)。我尝试使用 wpf 的 webbrowser 控件,在那里我遇到了许多关于网格格式化的问题,并且我无法为 webbrowser 控件显示透明背景。我发现问题是由于这个。
示例 HTML 内容:
<p>My <b>para<b></p><ul> <li>My list1</li> <li>My list2</li></ul>
Run Code Online (Sandbox Code Playgroud)
我在互联网上进行了研究,发现了一些 wpf 控件。
我是 WPF C# 的新手,我不知道如何在我的 wpf 应用程序中使用控件。我从这里和这里尝试了一些示例应用程序。但是,由于缺少参考,它显示出很多错误。
此外,我尝试使用 HtmltoXaml 转换器和 WPF Rich box,发现它在渲染后跳过了许多内容。
如果我得到一个简单的示例 wpf 应用程序,并且使用上述有用的控件或链接实现而没有错误,那对我来说真的很有帮助。
任何克服我的问题的新想法也很感激。预先感谢并为我的英语感到抱歉。