打印堆叠面板

打印堆叠面板

问题描述:

我有一个内含WPF的WPF,并希望打印它。使用打印堆叠面板

PrintDialog pd = new PrintDialog(); 
if (pd.ShowDialog() == true) 
    pd.PrintVisual(textStack, "Chinese Pinyin Text"); 

要打印,但意味着如果我调整我的窗口大小,一些东西会被切断。我怎样才能打印它并确保我的所有内容都使用标准的8.5x11纸张,因此没有任何东西被切断,并且正确流动? (IE-我的窗口宽屏,但是当它打印时,它应该提供8.5x11的纸张,内容正确流动)。

您可以从中创建FlowDocument(或其他XxxxDocument)吗? FlowDocuments相对容易打印。

+0

完美!我在''中包装了我的堆栈面板,并且完美运行 – DMan 2010-08-27 23:33:19

您可以创建一个包装StackPanel的ViewBox,并将其大小设置为所需大小,然后打印ViewBox。这可能会起作用。否则,就像帕特里克说的那样,将你的视觉变成FlowDocument并且处理分页将是你最好的选择。

+0

我试过了ViewBox,但它看起来像StackPanel一样的效果 - 如果我调整窗口的大小,ViewBox中的内容会明显缩小(东西变得更瘦但不包装) – DMan 2010-08-27 23:16:29