2
마침내 manged했던 WPF에서 documentViewer를 사용하여 고정 된 문서에 대해 문서 회전을 구현하는 lenghtly 전투는 아래의 코드 작업을 얻을 후 :WPF 문서 뷰어 업데이트 문제
//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();
문제는 당신이 볼 때 첫 페이지 (또는 회전 시작시보기에 있던 페이지)를 문서화하면 완전히 새로 고침되지 않습니다. (페이지 크기는 변경되지만 변환은 적용되지 않습니다.) 화면 밖으로 스크롤 한 다음 다시 돌아올 때까지 모든 것이 좋습니다. 이 문제를 어떻게 해결할 수 있습니까?