我一直在拼命寻找一种在WPF应用程序中显示HTML的简单方法。 有一些选项:
1)使用WPF WebBrowser控件
2)使用帧控制
3)使用第三方控制
WPF WebBrowser(3.5 SP1)总是在顶部 - 其他建议在WPF中显示HTML
,但我已经遇到了以下问题: 1)WPF WebBrowser控件不是真正的WPF(它是一个封装在WPF中的Winforms控件)。我找到了一种为此创建包装的方法,并使用DependencyProperties通过绑定和propertychanged导航到HTML文本。 这个问题是,如果你把Winforms控件放在WPF滚动查看器中,它不尊重z-index,这意味着winform总是在其他WPF控件之上。这非常烦人,我试图通过创建一个承载ElemenHost等的WindowsFormsHost来解决它。但是这显然完全破坏了我的绑定。
2)如果框架控件显示HTML内容,它与显示相同。没有选择。
3)我还没有找到WPF的原生HTML显示。所有选项都是winform,并且存在上述问题。
我现在唯一的出路就是使用微软有问题的HtmlToXamlConverter,它有时会崩溃。 (MSDN)
有没有人有任何其他的建议,如何在WPF中显示HTLM,没有这些问题?
抱歉长的问题,希望有人知道我在说什么关于...
您可以备份并描述您需要显示的HTML吗?可能有一种更简单或更原生的方式来实现您的目标,因为它看起来很难将HTML压缩到XAML中。 – 2009-06-15 21:09:20
好吧,我只需要在WPF应用程序中显示HTML(主要由outlook生成,但也来自webapps中的HTML编辑器)。编辑HTML不是必需的,因为它发生在不同的组件中。我已经尝试使这个组件成为只读,并从所有编辑功能中剥离它,但是这对我的绑定(它也是一个winform组件)不起作用。 使用显示HTML我的意思是显示格式,颜色,字体大小,链接...图像也不错。 – RoelF 2009-06-17 08:35:12
找到了一个好方法呢?我遇到了同样的问题。 – discorax 2009-10-18 07:20:31