Silverlight Печать Перевернуть страницу
От: binom82 Россия  
Дата: 23.03.11 10:02
Оценка:
Пытаюсь распечатать контрол на Silverlight, но тк контрол не влазит
на страницу приходится его переворачивать на 90 градусов,
но после разворота и смещения контрол становится как бы обрезанным,
те e.PageVisual.DesiredSize = 793Х700 хотя 700 должно быть равно 1000.

Помогите пожалуйста как исправить и есть ли способ установить заранее ориентацию страницы как альбомная



void printDoc_PrintPage(object sender, PrintPageEventArgs e)
        {
            var report = new XXXControlReport();

            //report.Width = 1000
            //report.Height = 700
            //e.PrintableArea.Width = 793
            //e.PrintableArea.Height = 1122        

            var tg = new TransformGroup();


            var tt = new TranslateTransform();

            tt.X = (e.PrintableArea.Width - report.Width) / 2;
            tt.Y = (e.PrintableArea.Height - report.Height) / 2;

            tg.Children.Add(tt);

            var rt = new RotateTransform();
            rt.Angle = 90;

            rt.CenterX = e.PrintableArea.Width / 2;
            rt.CenterY = e.PrintableArea.Height / 2;


            tg.Children.Add(rt);

            report.RenderTransform = tg;
   
            e.PageVisual = report;
     
            e.HasMorePages = false;
        }


Наверное нужно ортрендерить контрол до этой строчки

//Тут необходимо отрендерить контрол
e.PageVisual = report;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.