0

我正在尝试根据此文档实现 Siverlight HyperlinkBut​​ton :

<HyperlinkButton Content="Click here to learn about Silverlight"
                 NavigateUri="http://www.silverlight.net" 
                 TargetName="_blank" 
                 Margin="10,60,0,0"/>

但是,当我构建并单击它时,它什么也没有显示。

4

2 回答 2

1

我的猜测是您没有为 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>
    .
    .
于 2013-02-03T23:17:50.443 回答
0

您应该访问此链接以获取超链接按钮问题或.....它正在正常工作.....

<UserControl x:Class="HyperlinkButton2.Page"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Width="300" Height="100">
    <Canvas x:Name="LayoutRoot" Background="White">
        <HyperlinkButton x:Name="hbtnTest" TargetName="_blank" Content="SilverlightShow" NavigateUri="http://www.silverlightshow.net" Canvas.Top="40" Canvas.Left="30"></HyperlinkButton>
    </Canvas>

在 Silverlight 中使用 HyperlinkBut​​ton 控件

于 2013-02-04T05:22:37.380 回答