Web浏览器中的Silverlight打印问题

时间:2011-07-23 07:39:17

标签: silverlight-4.0 printing

我正在尝试从Silverlight应用程序进行打印。

当我运行应用程序Out Of Browser时,打印工作正常。但是当我在Web浏览器中运行它时,会显示“打印”对话框,但单击按钮(打印,取消甚至关闭窗口)时没有任何反应。我尝试在没有连接调试器的情况下运行(部署到IIS),但它是一样的。

代码:

    private void PrintLabel()
    {
        PrintDocument printDocument = new PrintDocument();
        printDocument.PrintPage += new EventHandler<PrintPageEventArgs>(printDocument_PrintPage);
        printDocument.Print("Label for " + this.tbSerialNo.Text);
    }

    void printDocument_PrintPage(object sender, PrintPageEventArgs e)
    {
        e.PageVisual = this.csLabel;
    }

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

这听起来像我过去看到的浏览器特定问题。你是在Firefox 3.6或更高版本中运行吗?如果是这样,this Firefox bug可能会引起您的兴趣,因为打印对话框 也是一个弹出窗口。

您可以通过在Firefox的dom.ipc.plugins.enabled菜单中将about:settings设置为false来解决此弹出窗口问题。但是,这有时会导致鼠标怪异,如here所述。

如果是这种情况(听起来就是这样),打印 在Out-Of-Browser模式下工作,因为它实际上只是在没有任何工具栏的IE进程中运行Silverlight。