gpt4 book ai didi

c# - 在多个页面上打印流文档滚动查看器

转载 作者:行者123 更新时间:2023-11-30 22:14:21 29 4
gpt4 key购买 nike

我正在尝试打印我的 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>

问题是:它将我的所有数据打印在一页中,宽度还可以(我可能会添加一些边距,但没关系)但它会压缩我的所有控件以适应一页的高度。

如何解决这个问题?我只想禁用此自动高度并保持原始大小。

最佳答案

问题是您将所有内容都放在单个 BlockUIContainer 中。 DocumentPaginator 在对 BlockUIContainer 进行分页时遇到问题,即将其分成多个页面。如果您的 UI 是静态的,您可以使用多个 BlockUIContainer 来包装您的 UI。即

    <BlockUIContainer>
<Grid Name="grid_principale">
<!-- Grid content here -->
</Grid>
</BlockUIContainer>
<BlockUIContainer>
<Grid Name="grid_principale2">
<!-- Grid content here -->
</Grid>
</BlockUIContainer>

这将生成多个页面。此外,您还必须在打印前设置 FlowDocument.PageHeight。

关于c# - 在多个页面上打印流文档滚动查看器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18544103/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com