【问题标题】:Getting current page of a FlowDocumentPageViewer获取 FlowDocumentPageViewer 的当前页面
【发布时间】:2022-04-18 09:12:04
【问题描述】:

我有一个 FlowDocumentPageViewer 控件,我从后面的代码中填充该控件。我正在添加 3-4 个项目的文本。我需要知道第 1,2,3... 项在哪个页面结束。

这些项目在循环中被添加到 FlowDocument 中,最后我有

flowDocumentPageViewer.Document = resultsDocument;

但是,即使我打电话

flowDocumentPageViewer.PageCount

我仍然得到 0。如果我在窗口呈现后执行单击之类的事件并打印上面的 PageCount,它会打印正确的值。但是,在填充 FlowDocument 时,我需要该值的总和。我希望有人知道一些文本指标的技巧或任何其他可以解决这个问题的方法。

【问题讨论】:

  • 您好,您解决了这个问题吗?看到我有同样的要求并且也坚持这个:)

标签: wpf flowdocument


【解决方案1】:

您别无选择,只能触发控件的(虚拟)渲染以获取此类信息。

最简单的方法是在 FlowDocumentPageViewer 上强制使用 updateLayout(),但这意味着它会在您获得可能不是您想要的信息之前显示结果。

如果您不想显示内容,也可以使用Arrange() 方法:

http://msdn.microsoft.com/en-us/library/system.windows.uielement.arrange.aspx

在您的控件上使用它后,您应该会获得更新的信息。

【讨论】:

    【解决方案2】:

    我也遇到了同样的问题,老实说,我现在仍然遇到。任何 updateLayout() 都没有帮助。现在,在我将文档分配给查看器后,我使用计时器在一秒钟后获取页数。工作正常。

    【讨论】:

      猜你喜欢
      • 2011-05-07
      • 2012-12-04
      • 1970-01-01
      • 2013-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-14
      相关资源
      最近更新 更多