zoukankan      html  css  js  c++  java
  • WPF 打印不显示的元素

    <Window x:Class="_097打印不显示的元素.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="184" Width="269">
        <Grid Margin="5">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"></RowDefinition>
                <RowDefinition Height="Auto"></RowDefinition>
            </Grid.RowDefinitions>
            <StackPanel Orientation="Horizontal">
                <Label>Scale Percentage:</Label>
                <TextBox MinWidth="50" Name="txtScale">500</TextBox>
            </StackPanel>
            <Button Grid.Row="1" Name="btnPrint" Click="btnPrint_Click_1">Print</Button>
        </Grid>

    </Window>


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    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.Navigation;
    using System.Windows.Shapes;


    namespace _097打印不显示的元素
    {
        /// <summary>
        /// Interaction logic for MainWindow.xaml
        /// </summary>
        public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
            }


            private void btnPrint_Click_1(object sender, RoutedEventArgs e)
            {
                PrintDialog dialog = new PrintDialog();
                if (dialog.ShowDialog() == true)
                {
                    Run run = new Run("This is a test of printing function");
                    TextBlock visual = new TextBlock();
                    visual.Inlines.Add(run);
                    visual.Margin = new Thickness(15);
                    visual.TextWrapping = TextWrapping.Wrap;

                    double zoom;
                    if (double.TryParse(txtScale.Text, out zoom))
                    {
                        visual.LayoutTransform = new ScaleTransform(zoom / 100, zoom / 100);
                        Size pageSize = new Size(dialog.PrintableAreaWidth, dialog.PrintableAreaHeight);
                        visual.Measure(pageSize);
                        visual.Arrange(new Rect(0, 0, pageSize.Width, pageSize.Height));
                        dialog.PrintVisual(visual, "A Scaled Drawing");
                    }
                    else
                    {
                        MessageBox.Show("Invalid Scale Value");
                    }
                }
            }
        }
    }

  • 相关阅读:
    二维数组中的查找
    循环语句
    掷骰子游戏和条件语句
    类型转换与键盘输入
    运算符(2)
    运算符(1)
    面向对象(2)
    面向对象(1)
    理解几种排序方法
    优盘、移动硬盘简便制作启动盘
  • 原文地址:https://www.cnblogs.com/dxmfans/p/9434782.html
Copyright © 2011-2022 走看看