2011-02-04 6 views
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(); 

문제는 당신이 볼 때 첫 페이지 (또는 회전 시작시보기에 있던 페이지)를 문서화하면 완전히 새로 고침되지 않습니다. (페이지 크기는 변경되지만 변환은 적용되지 않습니다.) 화면 밖으로 스크롤 한 다음 다시 돌아올 때까지 모든 것이 좋습니다. 이 문제를 어떻게 해결할 수 있습니까?

답변

1

업데이트 :이 문제는 원격 데스크톱 세션에서 작업 한 경우 발생했습니다.