Silverlight无法从所有浏览器打印

时间:2011-11-09 11:07:06

标签: silverlight browser printing

昨天我在Silverlight 4应用程序中创建了一个打印功能,并认为一切都很好。今天虽然我们的测试人员无法使用IE8浏览器进行打印。当他从IE8打印时,Windows打印对话框显示,但是当他点击其打印按钮时,对话框关闭,没有任何内容发送到打印机。他还安装了Firefox,当他从那里打印时,打印效果很好。他还可以使用正常的打印功能从IE8打印其他页面。我从IE9或Chrome打印都没有问题。

因此他的IE8安装显然存在一些问题。关于如何跟踪并修复它的任何想法将不胜感激。

我正在打印的ChildWindow包含以下XAML

<Border x:Name="PrintRange" BorderBrush="#00000000" BorderThickness="10">
  <Border BorderBrush="Black" BorderThickness="1" Background="White" CornerRadius="5">
    <Grid Margin="10">
      <Grid.RowDefinitions>
        <RowDefinition/>
        <RowDefinition/>
        <RowDefinition/>
        <RowDefinition/>
        <RowDefinition/>
      </Grid.RowDefinitions>
      <Grid.ColumnDefinitions>
        <ColumnDefinition/>
        <ColumnDefinition/>
      </Grid.ColumnDefinitions>

      <Image Source="/MiX.DLD.Web.UI.Silverlight;component/Images/VdoLogo.png" Width="80" HorizontalAlignment="Left" 
             VerticalAlignment="Top" Grid.Row="0" />
      <TextBlock Text="DLD" FontSize="20" FontWeight="Bold" HorizontalAlignment="Right" VerticalAlignment="Top" 
                 Grid.Row="0" Grid.Column="1" />
      <TextBlock Text="IMPORTANT NUMBERS" FontSize="14" FontWeight="Bold" Margin="0,5,0,5" 
                 Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" />
      <TextBlock Text="IMEI NUMBER" FontSize="12" Grid.Row="2" />
      <TextBlock Text="{Binding ImeiNumber,Mode=OneWay}" FontSize="12" FontWeight="Bold" Margin="10,0,0,0" Grid.Row="2" Grid.Column="1" />
      <TextBlock Text="SERIAL NUMBER" FontSize="12" Grid.Row="3" />
      <TextBlock Text="{Binding SerialNumber,Mode=OneWay}" FontSize="12" FontWeight="Bold" Margin="10,0,0,0" Grid.Row="3" Grid.Column="1" />
      <TextBlock Text="REGISTRATION CODE" FontSize="12" Grid.Row="4" />
      <TextBlock Text="{Binding RegistrationCode,Mode=OneWay}" FontSize="12" FontWeight="Bold" Margin="10,0,0,0" Grid.Row="4" Grid.Column="1" />
    </Grid>
  </Border>
</Border>

我用以下代码打印

var pd = new PrintDocument();
pd.PrintPage += (s, args) => { args.PageVisual = PrintRange; };
pd.Print("MiX DLD pre-registration label");

0 个答案:

没有答案