用户在WPF打印中定义的边距

时间:2011-03-01 07:22:34

标签: .net wpf printing margin

WPF的大多数打印样本都是这样的:

        PrintDialog dialog = new PrintDialog();
        if (dialog.ShowDialog() == true)
        {
           StackPanel myPanel = new StackPanel();
           myPanel.Margin = new Thickness(15);
           Image myImage = new Image();
           myImage.Width = dialog.PrintableAreaWidth;
           myImage.Stretch = Stretch.Uniform;
           myImage.Source = new BitmapImage(new Uri("pack://application:,,,/Images/picture.bmp"));
           myPanel.Children.Add(myImage);
           myPanel.Measure(new Size(dialog.PrintableAreaWidth, dialog.PrintableAreaHeight));
           myPanel.Arrange(new Rect(new Point(0, 0), myPanel.DesiredSize));
           dialog.PrintVisual(myPanel, "A Great Image.");
        }

我不喜欢这样,他们总是将保证金设定为固定值。 但是在PrintDialog中,用户可以选择没有样品关注的单个边距。如果用户现在选择较大的边距作为程序设置的固定边距,则截断打印输出。 有没有办法从PrintDialog中获取用户选择的边距值?

TIA 迈克尔

1 个答案:

答案 0 :(得分:0)

我很确定您在PrintDialog中更改的边距是特定于打印机驱动程序的设置。您无法从.NET访问该设置是正常的。