gpt4 book ai didi

c# - WPF 文档查看器更新问题

转载 作者:太空宇宙 更新时间:2023-11-03 11:40:38 24 4
gpt4 key购买 nike

在使用 WPF 中的 documentViewer 为固定文档实现文档轮换的长期斗争之后,我终于设法让它与下面的代码一起工作:

//Increment Rotation
if (Rotation == 270)
Rotation = 0;
else
Rotation += 90;

FixedDocument document = (FixedDocument)docViewer.Document;
foreach (PageContent page in document.Pages)
{
//Create New Size
Size newSize = new Size(page.Child.Height, page.Child.Width);

//Adjust Size
page.Child.Height = newSize.Height;
page.Child.Width = newSize.Width;

page.Height = newSize.Height;
page.Width = newSize.Width;

//Create Transform
TransformGroup pageTransform = new TransformGroup();
pageTransform.Children.Add(new RotateTransform(Rotation));

//Set Transform Shift
if (Rotation == 90)
pageTransform.Children.Add(new TranslateTransform(newSize.Width, 0));
if (Rotation == 180)
pageTransform.Children.Add(new TranslateTransform(newSize.Width, newSize.Height));
if (Rotation == 270)
pageTransform.Children.Add(new TranslateTransform(0, newSize.Height));

page.Child.RenderTransform = pageTransform;

//Update
page.Measure(newSize);
page.Arrange(new Rect(newSize));
page.UpdateLayout();
}
docViewer.Document = null;
docViewer.InvalidateVisual();
docViewer.Document = document;
docViewer.InvalidateVisual();
docViewer.UpdateLayout();

问题是,当您查看文档时,第一页(或您开始旋转时看到的任何页面)并没有完全刷新。 (页面大小发生变化,但转换不生效。)直到您滚动出 View 然后返回,然后一切都很好。我该如何解决这个问题?

最佳答案

更新:此问题是由在远程桌面 session 中工作引起的。

关于c# - WPF 文档查看器更新问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4901211/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com