Wpf 打印堆叠面板

Wpf 打印堆叠面板,wpf,printing,stackpanel,Wpf,Printing,Stackpanel,我有一个WPF的内容,在它,并想打印它。使用 PrintDialog pd = new PrintDialog(); if (pd.ShowDialog() == true) pd.PrintVisual(textStack, "Chinese Pinyin Text"); 然而,打印意味着,如果我调整窗口大小,一些内容将被切断。我如何打印它,并确保一张标准的8.5x11纸张包含我的所有内容,这样就不会有任何内容被截断,并且它可以正确流动?(IE-我的窗口是宽屏的,但打印时,它应该提供一

我有一个WPF的内容,在它,并想打印它。使用

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

然而,打印意味着,如果我调整窗口大小,一些内容将被切断。我如何打印它,并确保一张标准的8.5x11纸张包含我的所有内容,这样就不会有任何内容被截断,并且它可以正确流动?(IE-我的窗口是宽屏的,但打印时,它应该提供一张8.5 x 11的纸张,内容正确流动)。

您可以创建一个包裹StackPanel的ViewBox,并将其大小调整为您想要的大小,然后打印ViewBox。那可能行得通


否则,正如Patrick所说,将您的视觉效果放入一个FlowDocument并拥有该句柄分页将是您的最佳选择。

您能从中创建一个(或其他xxDocument)吗?流程文档相对容易打印

我尝试了ViewBox,但它似乎提供了与StackPanel相同的效果-如果我调整窗口大小,ViewBox中的内容会明显缩小(东西会变薄,但不会包裹)完美!我用
包装了我的堆栈面板,它工作得非常好