当我执行打印功能时,它只打印其中一页信息,第二页是空的。如果我一次打印一个用户控件,它就能正常工作。我想知道如何获得第二个用户控制打印信息。
单个控件(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);发布于 2014-07-09 04:15:59
这是多么愚蠢..。如果我将每个窗格封装在它们自己的StackPanel中,它就会起作用。
<StackPanel>
<StackPanel>
<panes:PerformanceReportPage1 x:Name="FedNorReportGrid"></panes:PerformanceReportPage1>
</StackPanel>
<StackPanel>
<panes:PerformanceReportPage2 x:Name="FedNorReportGrid2"></panes:PerformanceReportPage2>
</StackPanel>
</StackPanel>https://stackoverflow.com/questions/24638906
复制相似问题