排序器没有打印第二个UserControl
本文关键字:第二个 UserControl 打印 排序 | 更新日期: 2023-09-27 18:12:05
当我执行print函数时,它只打印其中一页的信息,第二页是空的。如果我一次打印一个用户控件,它可以工作。请问我如何得到第二个用户控制打印信息。
单控(works)
<ScrollViewer CanContentScroll="True" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" Visibility="{Binding FedNorReportVisibility, Mode=TwoWay}">
<StackPanel>
<panes:PerformanceReportPage1 x:Name="FedNorReportGrid"></panes:PerformanceReportPage1>
</StackPanel>
</ScrollViewer>
两个控制器(不工作)
<ScrollViewer CanContentScroll="True" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" Visibility="{Binding FedNorReportVisibility, Mode=TwoWay}">
<StackPanel>
<panes:PerformanceReportPage1 x:Name="FedNorReportGrid"></panes:PerformanceReportPage1>
<panes:PerformanceReportPage2 x:Name="FedNorReportGrid2"></panes:PerformanceReportPage2>
</StackPanel>
</ScrollViewer>
打印功能:
using (var doc = new XpsDocument("C:''Users/UNKNOWN/Test2.xps", FileAccess.Write))
{
var writer = XpsDocument.CreateXpsDocumentWriter(doc);
var collator = writer.CreateVisualsCollator();
collator.BeginBatchWrite();
collator.Write(FedNorReportGrid);
collator.Write(FedNorReportGrid2);
collator.EndBatchWrite();
}
var doc2 = new XpsDocument("C:''Users/UNKNOWN/Test2.xps", FileAccess.Read);
var seq = doc2.GetFixedDocumentSequence();
var window = new Window();
window.Content = new DocumentViewer {Document = seq};
window.ShowDialog();
这有点奇怪。我可以让它打印两页的第一页"窗格"。第二个窗格永远不会显示任何我尝试。使用
collator.Write(FedNorReportGrid);
collator.Write(FedNorReportGrid);
这是多么愚蠢....如果我封装每个窗格在自己的StackPanel,它的工作....
<StackPanel>
<StackPanel>
<panes:PerformanceReportPage1 x:Name="FedNorReportGrid"></panes:PerformanceReportPage1>
</StackPanel>
<StackPanel>
<panes:PerformanceReportPage2 x:Name="FedNorReportGrid2"></panes:PerformanceReportPage2>
</StackPanel>
</StackPanel>