我正在尝试在WPF应用程序中嵌入/显示PDF。到目前为止,我已经尝试了以下解决方案,但都没有成功:
在一个
WindowsFormsHost
中托管一个AxAcroPdf
控件来显示 PDF,类似于 这里 所示的内容。问题在于我的应用程序设置了AllowsTransparency=True
以创建类似于 现代 UI 的样式,但这与WindowsFormsHost
不协调(控件变得不可见)。在
WebBrowser
控件中显示 PDF。问题是一样的。将
AllowsTransparency=False
,但这会使应用程序感觉缓慢。由于我故意使用 WPF 来增强我们的业务应用程序的外观和感觉,以使最终用户受益,这不能是一个解决方案。使用第二个窗口并将
AllowsTransparency=False
设置为显示WindowsFormsHost
,并进行黑客攻击,使其看起来像主窗口的子控件,如 这里 所述。然而,我不喜欢代码后台方法,因为我正在使用 MVVM。查找 WPF 的本地 PDF 控件。然而,我只找到了几个商业控件,现在不是一个选项。
- 在 WPF 应用程序中显示 PDF 或其表示形式(例如图像或转换为其他格式)。
- 保持我的样式视觉完整和流畅(
AllowsTransparency
必须保持为True
)。 - 使用符合 MVVM 原则的方法(最好不要使用代码后台)。
- 免费将其包含在我的应用程序中(用于商业用途)。