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

窗口大小调整后UWP打印预览未更新,uwp,Uwp,我目前正在开发一个UWP应用程序,并使用Windows.Graphics.Printing.PrintManager类显示预览窗口。我有一些影响结果的控件,我调用printDocument.InvalidatePreview()在用户更改它们时刷新预览。在用户调整窗口大小之前,它可以正常工作。之后,调用printDocument.InvalidatePreview()后,预览将不会更新 目前还不清楚InvalidatePreview中发生了什么,因为文档非常糟糕,而且没有源代码 有人知道解决方法

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

目前还不清楚
InvalidatePreview
中发生了什么,因为文档非常糟糕,而且没有源代码


有人知道解决方法吗?

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

  if (optionId == "PageContent")
  {
      await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
      {
          printDoc.InvalidatePreview();
      });
  }
它工作得很好,在应用程序的窗口调整后也能工作。如果您订阅了该事件,则
InvaliddatePreview()
将调用该事件,并且打印预览将刷新。我上传到github,你可以下载进行测试,并与你的项目进行比较,找出差异。如果无法通过比较差异来解决问题,您可以尝试在本演示中重现您的问题,让我们再次帮助解决

更多详细信息请参考:。
官方示例:

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

  if (optionId == "PageContent")
  {
      await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
      {
          printDoc.InvalidatePreview();
      });
  }
它工作得很好,在应用程序的窗口调整后也能工作。如果您订阅了该事件,则
InvaliddatePreview()
将调用该事件,并且打印预览将刷新。我上传到github,你可以下载进行测试,并与你的项目进行比较,找出差异。如果无法通过比较差异来解决问题,您可以尝试在本演示中重现您的问题,让我们再次帮助解决

更多详细信息请参考:。
官方样本:

谢谢您关注我的问题。你的代码很有效,它帮助我更好地理解这个问题。分页需要花很多时间处理我的数据(我有10多页),这破坏了我的打印预览。如果添加
System.Threading.Tasks.Task.Delay(1000.Wait()),则可以在应用程序中重现该问题
PrintDic\u Paginate
方法。我发现我可以复制您的问题。”“调整窗口大小”实际上是指调整打印UI窗口的大小,对吗?调整打印UI的大小将导致此问题。我会和我的团队沟通。是的,正确。调整打印UI窗口的大小将导致此问题。感谢您关注我的问题。你的代码很有效,它帮助我更好地理解这个问题。分页需要花很多时间处理我的数据(我有10多页),这破坏了我的打印预览。如果添加
System.Threading.Tasks.Task.Delay(1000.Wait()),则可以在应用程序中重现该问题
PrintDic\u Paginate
方法。我发现我可以复制您的问题。”“调整窗口大小”实际上是指调整打印UI窗口的大小,对吗?调整打印UI的大小将导致此问题。我会和我的团队沟通。是的,正确。调整打印UI窗口的大小将导致此问题。