窗口调整大小后UWP打印预览未更新

时间:2016-09-01 21:10:19

标签: uwp

我目前正在开发一个UWP应用,并使用Windows.Graphics.Printing.PrintManager类来显示预览窗口。我有一些影响结果的控件,我会在用户更改时调用printDocument.InvalidatePreview()来刷新预览。它工作正常,直到用户调整窗口大小。之后,在调用printDocument.InvalidatePreview()后,预览将不会更新。

绝对不清楚InvalidatePreview内发生了什么,因为文档非常差并且没有源代码。

有人知道修复或解决方法吗?

1 个答案:

答案 0 :(得分:0)

我写了一个非常简单的演示试图重现你的问题,但我无法重现。我在用户更改打印预览选项后调用printDoc.InvalidatePreview(),代码如下

  if (optionId == "PageContent")
  {
      await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
      {
          printDoc.InvalidatePreview();
      });
  }

它运行良好,在应用程序窗口调整大小后也能正常工作。如果您订阅了InvaliddatePreview()并且打印预览将刷新,if let user = FIRAuth.auth()?.currentUser { print(user.anonymous) self.signedIn(user) } 似乎会召回PrintDocument.GetPreviewPage事件。我将demo上传到github,您可以下载测试并与您的项目进行比较以找出差异。如果通过比较差异无法解决问题,您可以尝试在此演示中重现您的问题,让我们再次帮助解决。

更多详情请参阅:https://msdn.microsoft.com/en-us/windows/uwp/devices-sensors/print-from-your-app。 官方样本:https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/Printing