2010-07-09 3 views
2

사용자 지정 인쇄 템플릿으로 여러 페이지를 인쇄 할 때 도움이 필요합니다. 인쇄 템플릿 (Silverlight 사용자 정의 컨트롤)은 두 개의 텍스트 블록 (각 텍스트를 표시하고 나중에 인쇄하는 제목 및 내용)으로 구성됩니다. 내가 겪고있는 문제는 오직 1 페이지를 인쇄 할 수 있다는 것입니다. 어떻게 여러 페이지를 인쇄 할 수 있습니까? 이것은 작업 흐름입니다 -Silverlight 4에서 사용자 정의 인쇄 템플릿 (사용자 정의 컨트롤)을 사용하여 여러 페이지 인쇄

  • 내용 (매우 커질 수 있음)은 먼저 하위 창 (일종의 사용자 지정 메시지 상자)에 포함 된 텍스트 블록에 표시됩니다.
  • 이 내용을 인쇄해야하므로 제목과 내용을 개별적으로 인쇄하는 사용자 지정 인쇄 템플릿을 만들었습니다.
  • 이제 어떻게하면 여러 페이지를 인쇄 할 수 있는지 잘 모르겠습니다.

    <StackPanel VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Margin="10,10,10,10" > 
         <Border HorizontalAlignment="Stretch" VerticalAlignment="Stretch" CornerRadius="10" BorderThickness="5" Background="White" Height="50" > 
          <TextBlock HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="2" TextWrapping="Wrap" Name="TitleTextBlock" FontSize="16" 
             TextAlignment="Center" FontFamily="Times New Roman" FontStyle="Italic" FontWeight="SemiBold" > 
          </TextBlock> 
         </Border> 
         <Border HorizontalAlignment="Stretch" VerticalAlignment="Stretch" CornerRadius="10" Margin="0,10,0,0" BorderThickness="5" Background="White" Height="950" > 
          <TextBlock HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="10" TextWrapping="Wrap" Name="ContentTextBlock" FontSize="14" 
             FontFamily="Times New Roman" FontWeight="Normal" > 
          </TextBlock> 
         </Border> 
    </StackPanel> 
    

    내 코드 - -

    Private Sub btnPrint_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) 
        printDoc.Print("MyTest") 
    End Sub 
    
    Private Sub printDoc_PrintPage(ByVal sender As Object, ByVal e As PrintPageEventArgs) 
    
        Dim printPage As New PrintingPageTemplate 
    
        'printPage.PageTitle = Me.Title.ToString 
        'printPage.PageContent = Me.txtMessage.Text 
        printPage.TitleTextBlock.Text = Me.Title.ToString 
        printPage.ContentTextBlock.Text = Me.txtMessage.Text 'The txtMessage is a text block which consists of data to be printed and it can have very large content 
    
        e.PageVisual = printPage 
        'e.HasMorePages = True ' This doesn't work 
    End Sub 
    

    TitleTextBlock의 전체 크기를 확인하고 PrintingTemplate의 새 인스턴스를 만들 몇 가지 논리를 필요

여기 내 XAML입니다. 누군가가 이것을 얻을 수있는 방법에 대한 몇 가지 지침을 던질 수 있습니까? (나는 내 ​​문제에 대한 충분한 정보를 제공 할 수 있었으면 좋겠다.)

답변

0

제가 할 수있는 최선의 방법은 바로 그 일을하는 것입니다. 전에이 기사를 발견하고 Silverlight에서의 인쇄가 그것이 가능할 것이라고 생각한 것만큼이나 단순하다는 것을 발견 한 후 아마도 유용 할 것이라고 생각했습니다.

http://www.gal-systems.com/2/post/2011/02/multiple-pages-printing-in-silverlight-4.html

와 두 번째 부분, 인쇄 미리보기를 생성 :

http://www.gal-systems.com/2/post/2011/02/multiple-page-printing-in-silverlight4-part-2-preview-before-printing.html

는 당신이 얻을 방법을 알고 우리를하자!

관련 문제