2010-06-09 3 views
1

System.Windows.Controls.PrintDialog을 사용하면 사용자가 내 응용 프로그램에서 하나 이상의 페이지를 인쇄 할 수 있습니다.PrintDialog에서 "현재 페이지"사용

 PrintDialog printDialog = new PrintDialog(); 

     printDialog.PageRangeSelection = PageRangeSelection.AllPages; 
     printDialog.UserPageRangeEnabled = true; 

     if (printDialog.ShowDialog() == true) 
     { 
      // do print ... 
     } 

임 대화 상자에서 현재 페이지 라디오 버튼을 활성화 할 수있는 옵션을 찾고 : 이것은 내가 현재 가지고 것입니다. 그것을 가능하게하는 방법?

+0

WPF의 제한 사항이 있습니까? WindowsForms PrindDialog에는 AllowCurrentPage 속성이 있습니다. –

+0

예, System.Windows.Forms.PrintDialog.AllowCurrentPage 속성의 바로 위에 대응하는 항목을 찾고 있습니다. 나는 WPF의 한계를 생각하지 않는다. 왜 그들은 라디오 버튼을 유지할 것인가? 대화 상자의 다른 부분이 변경된 것처럼 보입니다. – Mizipzor

+0

WPF PrintDialog는 Windows의 표준 인쇄 대화 상자만을 사용하며이 라디오 버튼의 속성을 변경하기위한 API를 제공하지 않는다고 생각합니다. –

답변

0

참조 번호 PresentationFramework.dll을 리플 렉터로 디 컴파일하면이 클래스에는 CurrentPage에 대한 정보가 없습니다. 이 라디오 버튼은 기본적으로 Win32PrintDialog에서 비활성화되어 있다고 생각합니다. 윈폼에서이 라디오 버튼은 확실히 기본적으로 비활성화되어 있습니다 :

[DefaultValue(false), SRDescription(SR.PDallowCurrentPageDescr)] 
    public bool AllowCurrentPage { 
     get { return allowCurrentPage;} 
     set { allowCurrentPage = value;} 
    } 

난 당신이 라디오 버튼을 활성화 할 수 없습니다 만, 내가 잘못 될 수 있음을 가정한다.

+0

가장 좋은 해결책은 내 대화 상자를 만드는 것입니다. 감사. – Mizipzor