我正在尝试在 WPF 应用程序中嵌入/显示 PDF。到目前为止,我已经尝试了这些解决方案,但没有成功:
WindowsFormsHost
在托管控件中显示 PDFAxAcroPdf
,类似于此处显示的内容。问题是我的应用程序设置AllowsTransparency = True
为创建类似于Modern UI的样式,但这与 a 不能很好地融合WindowsFormsHost
(控件变得不可见)。WebBrowser
在控件中显示 PDF 。问题是一样的。Set
AllowsTransparency = False
,但这会导致应用程序感觉迟缓。由于我故意使用 WPF 来增强我们的业务应用程序的外观和感觉以使我们的最终用户受益,因此这不是一个解决方案。使用第二个窗口
AllowsTransparency = False
来显示WindowsFormsHost
,并修改它以使其看起来像主窗口的子控件,如此处所述。但是,我不喜欢代码隐藏方法,因为我使用的是 MVVM。查找 WPF 的本机 PDF 控件。然而,我只找到了几个商业的,现在这不是一个选择。
我需要的是能够:
- 在 WPF 应用程序中显示 PDF 或其表示(即图像或转换为另一种格式)。
- 保持我的风格在视觉上保持完整和流畅(
AllowsTransparency
必须保持True
)。 - 使用尊重 MVVM 原则的方法(最好没有代码隐藏)。
- 免费将其包含在我的应用程序中(用于商业用途)。
我对手工制作的解决方案、开源库甚至完全不同的方法完全持开放态度。