Mega Code Archive

 
Categories / C# / WPF
 

Print Scaled Visual

<Window x:Class="Printing.PrintScaledVisual"     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"     Title="PrintScaledVisual" Height="184" Width="269">   <StackPanel>     <Button Click="cmdPrint_Click">Print</Button>   </StackPanel> </Window> //File:Window.xaml.cs using System; using System.Collections.Generic; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; namespace Printing {     public partial class PrintScaledVisual : System.Windows.Window     {         public PrintScaledVisual()         {             InitializeComponent();         }         private void cmdPrint_Click(object sender, RoutedEventArgs e)         {             PrintDialog printDialog = new PrintDialog();             if (printDialog.ShowDialog() == true)             {                 Run run = new Run("This is a test.");                 TextBlock visual = new TextBlock(run);                                 visual.Margin = new Thickness(15);                 visual.TextWrapping = TextWrapping.Wrap;                 double zoom = 2;                 visual.LayoutTransform = new ScaleTransform(zoom / 100, zoom / 100);                 Size pageSize = new Size(printDialog.PrintableAreaWidth, printDialog.PrintableAreaHeight);                 visual.Measure(pageSize);                 visual.Arrange(new Rect(0, 0, pageSize.Width, pageSize.Height));                 printDialog.PrintVisual(visual, "A Scaled Drawing");             }         }     } }