【发布时间】:2013-08-31 03:11:15
【问题描述】:
我正在尝试打印我的 FlowDocument(包装在 FlowDocumentScrollViewer 中),因为我有很多文本/文本框/组合框,并且页面高度可能会变高!
我正在使用这个:
PrintDialog printDialog = new PrintDialog();
if (printDialog.ShowDialog() == true)
{
Scrollvvv.Document.ColumnWidth = printDialog.PrintableAreaWidth;
Scrollvvv.Document.ColumnGap = 0;
printDialog.PrintDocument(((IDocumentPaginatorSource)Scrollvvv.Document).DocumentPaginator, ServicesLangue.RM.GetString("TITRE_MODIFIER_SALON_EXPOSANT"));
}
我的 xaml 看起来像:
<FlowDocumentScrollViewer Name="Scrollvvv" VerticalScrollBarVisibility="Auto">
<FlowDocument Name="flowDoc" PagePadding="10">
<Section>
<BlockUIContainer>
<Grid Name="grid_principale">
<!-- Lot of stuffs here -->
</Grid>
</BlockUIContainer>
</Section>
</FlowDocument>
</FlowDocumentScrollViewer>
问题是:它将我的所有数据打印在一页中,宽度还可以(我可能会添加一些边距,但这没关系),但它会压缩我的所有控件以适应一页的高度。
如何解决这个问题?我只想禁用此自动高度并保持原始大小。
【问题讨论】:
-
DocumentPaginator 显示的页面大小是多少?
-
PageCount : 0, IsPageCountValid : false, Page Size = {816, 1016} 谢谢
-
我尝试过“computePageCount”,但没有任何变化,它计算的是 1 页而不是 0 页。
标签: c# wpf printing flowdocument flowdocumentscrollviewer