Распечатать LayoutRoot и вписать в страницу

Я использую Silverlight 5 и VB.Net.

Мой LayoutRoot имеет ширину = 1300.

Когда я печатаю на бумаге или в файле .xps, я теряю правую часть вывода.

Как я могу заставить Silverlight соответствовать размеру страницы?

Мой код ниже. Спасибо,

JT

Imports System.Windows.Printing

Partial Public Class Page3
    Inherits Page
    Public WithEvents pd As New PrintDocument()

Public Sub New()
        InitializeComponent()
        pd = New PrintDocument()

Private Sub Button1_Click(sender As Object, ByVal e As RoutedEventArgs) Handles Button1.Click
        pd.Print("People Framework")
    End Sub

    Private Sub pd_PrintPage(ByVal sender As Object, ByVal e As PrintPageEventArgs) Handles pd.PrintPage
        e.PageVisual = LayoutRoot
    End Sub

person finisterre    schedule 18.10.2012    source источник


Ответы (1)


Вам нужно использовать параметр PrintableArea, чтобы сначала получить размер страницы.

Посмотрите на этот пост в блоге silverlight-printing-fit-to- страницу для подробного ответа. Это для С#, но принцип тот же.

person Phasma    schedule 13.12.2012