C# 使用包含StackPanel的FlowDocument中的DocumentPaginator分页

C# 使用包含StackPanel的FlowDocument中的DocumentPaginator分页,c#,wpf,flowdocument,documentpaginator,C#,Wpf,Flowdocument,Documentpaginator,我想从包含StackPanel元素的FlowDocument对象生成分页文档。我试着使用DocumentPaginator 到目前为止,我已经尝试了下面的代码,但我运气不好,也就是说,只生成了一个被截断的页面,并且它的内容被垂直地切成两半 //stackPanel包含与其总高度相同的元素 //使页面应分成几页。 StackPanel StackPanel=。。。; BlockUIContainer BlockUIContainer=新的BlockUIContainerstackPanel; Fl

我想从包含StackPanel元素的FlowDocument对象生成分页文档。我试着使用DocumentPaginator

到目前为止,我已经尝试了下面的代码,但我运气不好,也就是说,只生成了一个被截断的页面,并且它的内容被垂直地切成两半

//stackPanel包含与其总高度相同的元素 //使页面应分成几页。 StackPanel StackPanel=。。。; BlockUIContainer BlockUIContainer=新的BlockUIContainerstackPanel; FlowDocument flowDoc=新的FlowDocumentblockUiContainer; flowDoc.PageHeight=inchtopointPapersSizeA4.Height;//paperSizeA4.高度:整数值 flowDoc.PageWidth=flowDoc.ColumnWidth=InchToPointpaperSizeA4.Width;//paperSizeA4.宽度:整数值 flowDoc.PagePadding=新厚度40; DocumentPaginator docPaginator=IDocumentPaginatorSourceflowDoc.DocumentPaginator; docPaginator.ComputePageCount; 当我将文档打印为PDF时,这就是结果,正如我前面所说的,只有一页,其内容被垂直剪切成两半。此图像中的文档缩小了50%:


我是否遗漏了一些使分页工作正常的东西?还是我以错误的方式实现了它?

BlockUIContainer不能跨越多个页面。我建议取出StackPanel并为列表中的每个元素使用BlockUIContainer。

BlockUIContainer不能跨越多个页面。我建议取出StackPanel并为列表中的每个元素使用BlockUIContainer