2009-12-24 5 views
0

Одним из функций Silverlight 4, перечисленных во многих документах PDC, является Предварительный просмотр.Как использовать предварительный просмотр в Silverlight 4 Beta?

Я искал примеры того, как использовать это и ничего не нашел до сих пор. Кто-нибудь получил эту работу еще? Можете ли вы дать мне несколько указаний о том, как реализовать простое веб-приложение с предварительным просмотром печати. ​​

ответ

0

Я думаю, что из-за отсутствия ответов и того факта, что, как отметил Hurricanepkt в своем ответе, Тим Хейер и другие говорят о виртуальном принте, который, если бы скрыть то же самое на экране, можно было бы легко построить в своей собственной печати Функция предварительного просмотра, представленная в некоторых списках предварительного просмотра, фактически неверно истолковывает фактические документы виртуальной печати.

1

Я не видел предварительный просмотр печати как любой из них, но фактический Поддержка печати, в которой вы можете контролировать, какие элементы управления печатаются, и события на основе процесс печати.

+0

http://silverlight.net/getstarted/silverlight-4-beta/рассказывает о просмотре виртуальной печати, который может или не может быть распечатан, но http://blog.stormideas.com/archive/2009/11/20/silverlight-4-beta-released- did-you-get-what-you.aspx, а другие прямо говорят о предварительном просмотре функциональность. – colethecoder

+0

виртуальный вид печати позволяет создавать элементы управления «на лету», фактически не отображая их на экране ... – MarkKGreenway

+0

Ну, я должен также упомянуть, что Тим Хейер показывает, как создать виртуальную печать http://www.silverlight.net/learn/ видео/silverlight-4-beta-videos/printing-api-basics/ – MarkKGreenway

1

После того как я искал какое-то время, я нашел способ сделать это, объединив некоторые функции, которые я нашел в других проектах, но они использовали его для обработки изображений. Я пробовал с печатью, и, похоже, все нормально.

Вот как это работает: Получить базовый контейнер для содержимого печати конвертированы в растровое изображение с помощью WriteableBitmap, здесь я буду использовать Canvas:

WriteableBitmap wb = new WriteableBitmap(this.canvas1, null); 

Используйте этот растровый как источник для изображения (может быть внутри ScrollViewer, что еще лучше).

this.imagePreview.Height = wb.PixelHeight; 
this.imagePreview.Width = wb.PixelWidth; 
this.imagePreview.Source = wb; 

Набор масштабирования базовых блоков (используется 1 процент в данном случае):

Point scale = new Point();  

scale.X = imagePreview.Width/100d; 
scale.Y = imagePreview.Height/100d; 

Затем установите масштабирование с помощью ползунка (необязательно)

private void vSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) 
     { 

       imagePreview.Height = scale.Y * vSlider.Value; 
       imagePreview.Width = scale.X * vSlider.Value;   
     } 
+0

Это решение работает отлично. Спасибо. –

 Смежные вопросы

  • Нет связанных вопросов^_^