WPF在窗口的可视化树中打印多个元素

时间:2012-07-02 21:10:17

标签: wpf printing

我有一个WPF窗口,其中包含三个项目控件,以及3个按钮。有没有办法使用PrintVisual()我只能打印两个项目控件,而没有按钮?

我的第一个想法是动态创建一个StackPanel并添加我想要打印的控件,但是如果不首先将它们分开并且它似乎有问题,我就不能这样做。

我想使用PrintVisual,因为它非常简单。 (不幸的是,我不能在这个应用程序上花太多时间)。

***请原谅我提供的源代码不足,但我对WPF相对较新,目前我的表格格式过度编码。我想如果有一个简单的解决方案,我只是很好奇。

感谢。

1 个答案:

答案 0 :(得分:0)

如果您的问题只是打印页面的一部分。将要打印的两个项目控件放在Grid元素中。给它起个名字

<Grid x:Name="printGrid">
    ....
</Grid>

然后您可以调用PrintDialog.PrintVisual,如

PrintDialog printDialog = new PrintDialog();
printDialog.PrintVisual(printGrid,"The Description");

如果您无法将这些控件分组到他们自己的网格中,您可以通过在代码中创建Container并将现有的命名itemsControls添加到它们来手动完成。然后你可以PrintVisual容器。