Большинство образцов печати для 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?
ТИА
Michael