【发布时间】:2017-03-14 14:33:06
【问题描述】:
我正在尝试使用 Syncfusion 的解决方案 SfPdfViewerControl 实现 PDF 查看器。我需要在 Syncfusion.Windows.PdfViewer.PageViewMode 的名为 _defaultDisplayType。
为此,我只是在做一个:
_pdfViewer.ViewMode = PageViewMode.FitWidth;
_pdfViewer 是我的 SfPdfViewerControl 实例。
当 _pdfViewer 触发他的 DocumentLoaded 事件时,我正在这样做:
_pdfViewer.DocumentLoaded += _pdfViewer_CurrentDocumentLoaded;
我调用的方法看起来像:
private void _pdfViewer_CurrentDocumentLoaded(object sender, DocumentLoadedEventArgs e)
{
_pdfViewer.ViewMode = _defaultDisplayType;
}
然而,即使 ViewMode 的属性正确地更改为 FitWidth,最终结果还是如下所示:
当我尝试通过一个按钮手动更改 ViewMode 的值时,查看器的尺寸最终调整得很好:
我做错了吗?我认为我应该使用某种 setter 方法或命令,但 documentation 似乎并没有证明我错了。
【问题讨论】:
-
_defaultDisplayType属性何时/如何初始化? -
在构造函数中,当 DocumentLoaded 事件被触发和我手动更改时,值是正确的(PageViewMode.FitWidth)。
-
如果您使用
async和await Task.Delay将pdfViewer.ViewMode 属性的设置延迟1 秒,会发生什么情况?如果它发生在 DocumentLoaded 事件之后立即,感觉就像设置不生效... -
延迟设置时它确实有效,但我得到“尝试除以零”。当我在我的文档之间导航时出现异常。奇怪的是,当我将值设置为 OnePage(适合高度)时,我没有遇到这些问题。我会联系 Syncfusion 的支持并稍后更新这篇文章。
标签: uwp syncfusion