当我尝试在 Silverlight 中打印一些内容时,我收到臭名昭著的“对话框必须由用户启动”安全异常。正如您所看到的,该对话框尽可能由用户启动:
约翰爸爸也帮不了我太多 http://johnpapa.net/silverlight/printing-tip-ndash-handling-user-initiated-dialogs-exceptions/,因为我没有设置任何断点。MSDN 先生认为也可能是我花了太长时间 http://msdn.microsoft.com/en-us/library/ee671023(VS.95).aspx,但这只是一个尽可能简单的演示应用程序。
有任何想法吗?我想这是 Visual Studio 的一个怪癖,可能是一些扩展干扰,因为当我在它之外启动应用程序时,一切似乎都正常。我首先认为代码合约可能会干扰他们的 IL 编织,但在这个项目中它们被停用了。
更新:这只是一个从文件系统本地运行的简单 Silverlight 应用程序。当我执行“开始调试”时,Visual Studio 会在“调试”和“调试”中创建一个包含 Silverlight 应用程序的托管 HTML 文件。项目的 Release 文件夹,启动带有该 HTML 文件的 Internet Explorer 并将调试器附加到它。
更新 2:当我创建一个 Web 项目来托管 Silverlight 应用程序并在 IIS 上为其创建虚拟目录时,我也会遇到相同的错误。
我可能还想补充一点,无论其他 Silverlight 项目的托管方案如何,我在打印时都没有问题。
更新 3:我下载了 FireFox,它可以工作,当我用它进行调试时,我没有收到错误消息。所以这似乎与我的IE8有关。我上传了解决方案:
http://dl.dropbox.com/u/10401470/Code/Demos/PrintingDemo.zip http://dl.dropbox.com/u/10401470/Code/Demos/PrintingDemo.zip
我想知道有人可以复制吗?
有人知道我应该向哪个团队提交错误报告吗?银光团队? IE团队? VS 调试器团队?