【发布时间】:2015-06-24 14:16:54
【问题描述】:
试图构建一个页面以便打印。作为示例,我有以下内容 - 主要基于此 http://tech.pro/tutorial/881/printing-in-wpf :
PrintDialog printDialog = new PrintDialog();
printDialog.PageRangeSelection = PageRangeSelection.AllPages;
printDialog.UserPageRangeEnabled = true;
var doPrint = printDialog.ShowDialog();
if (doPrint == true)
{
StackPanel myPanel = new StackPanel();
myPanel.Margin = new Thickness(15);
Image myImage = new Image();
myImage.Width = 128;
myImage.Stretch = Stretch.Uniform;
myImage.Source = new BitmapImage(new Uri("C:\\Tree.jpg", UriKind.Absolute));
myPanel.Children.Add(myImage);
TextBlock myBlock = new TextBlock();
myBlock.Text = "A Great Image.";
myBlock.TextAlignment = TextAlignment.Center;
myPanel.Children.Add(myBlock);
Canvas canvasL = new Canvas();
canvasL.Width = 300;
canvasL.Height = 300;
canvasL.Background = Brushes.LightSteelBlue;
myPanel.Children.Add(canvasL);
Line l = new Line();
l.X1 = 0;
l.Y1 = 0;
l.Y1 = 10000;
l.Y2 = 10000;
l.Stroke = Brushes.Black;
l.StrokeThickness = 5;
canvasL.Children.Add(l);
myPanel.Measure(new Size(printDialog.PrintableAreaWidth,
printDialog.PrintableAreaHeight));
myPanel.Arrange(new Rect(new Point(0, 0),
myPanel.DesiredSize));
printDialog.PrintVisual(myPanel, "A Great Image.");
}
图片显示。文字显示。画布显示为钴蓝色方块 - 但无处可见。
什么给了?
【问题讨论】: