我实现了此页面上详述的打印机功能,我想我偶然发现了System.Windows.Printing的打印行为中的一个错误。我刚刚在布局中添加了一个图像,如下所示:
<Grid x:Name="documentRoot">
<Grid.RowDefinitions>
<RowDefinition Height="100" />
<RowDefinition Height="25"/>
<RowDefinition />
<RowDefinition Height="25"/>
</Grid.RowDefinitions>
<Image x:Name="logo" Source="/MyProject;component/Image/logo.jpg" Grid.Row="0" Width="265" Height="51" HorizontalAlignment="Left" Margin="0,0,0,15" VerticalAlignment="Bottom" />
<TextBlock x:Name="headerTextBlock" Grid.Row="1" HorizontalAlignment="Center" />
<TextBlock x:Name="bodyTextBlock" Grid.Row="2" TextWrapping="Wrap" />
<TextBlock x:Name="footerTextBlock" HorizontalAlignment="Center" Grid.Row="3"/>
</Grid>
这段代码发生的情况是,每当应用程序启动后第一次需要打印多个页面时,它将跳过前 2 个页面,只打印其余页面。如果您尝试再次打印相同的内容,它将按预期很好地打印页面,并且永远打印,直到您重新启动应用程序。
请注意,它与添加的RowDefinition 无关,因为我试图仅删除Image元素并且它工作得很好。只有当我将Image元素放在我的 UserControl 中时,打印机才会开始发疯。
所以我假设这是微软多年来不会费心修复的另一个“小”错误,例如我在早期不得不努力解决的 Powershell 中的这个或其他一些非工作标志。
话虽这么说,我很乐意在这个问题上被告知错误。但是,如果我不是,是否有人对解决方法有任何想法?