0

我实现了此页面上详述的打印机功能,我想我偶然发现了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 中的这个或其他一些非工作标志。

话虽这么说,我很乐意在这个问题上被告知错误。但是,如果我不是,是否有人对解决方法有任何想法?

4

1 回答 1

1

找到了解决我的问题的方法:使用此网站将图像文件转换为 XAML 画布,然后复制粘贴整个画布代码而不是我的 PrintPage.xaml 文件中的图像似乎可以解决问题。尽管这非常可怕。我知道。

于 2013-02-06T14:40:45.343 回答