我的猜测是您没有为 Silverlight 对象启用外部导航。如果您没有单击链接时会引发安全异常,但您可能会在不知情的情况下捕获它。上述链接的备注部分对此进行了描述。
要启用导航,请编辑您的 Silveright 主机页面 (EG index.html) 并在 Silverlight 对象下添加以下参数
<param name="enableNavigation" value="true" />
默认情况下,Silverlight 每次运行/调试时都会生成 .html 页面,因此您将丢失参数。要解决此问题,请在同一目录中使用不同的名称复制 .html 文件,或者手动指定要在项目设置中使用的 .html 文件。
http://msdn.microsoft.com/en-us/library/dd833071(v=vs.95).aspx
更新:
这适用于 Chrome、Firefox 和 IE8。它不适用于 IE9。您可以使用开发人员工具在 IE 中对此进行测试。链接适用于文档模式 IE8,但在使用文档模式 IE9 时会引发未经授权的访问异常。
更新#2:
要让它在 IE9 中工作,您可以强制它使用 IE8 文档模式。为此,您需要删除 DOCTYPE 标记并添加元标记。例如
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv="x-ua-compatible" content="IE=8">
.
.
代替
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
.
.