WPF 打印问题

在调用PrintDialog的函数 PrintVisual(Visual visual, string description)打印某个Visual对象时,遇到一个问题,如果这个Visual有滚动条,即UserView不能显示全部Visual时,当滚动条拖动到中下部分时,只能打印出部分内容。

可以用以下语句解决这个问题:(其中 this指需要打印的Visual,如Canvas)

PrintDialog printDialog = new PrintDialog();

this.Measure(new Size(printDialog.PrintableAreaWidth,printDialog.PrintableAreaHeight));
this.Arrange(new Rect(new Point(0, 0), this.DesiredSize));

printDialog.PrintVisual(this, "WPF Diagram");

posted @ 2009-02-17 20:08  乔治国  阅读(1212)  评论(2编辑  收藏  举报