在 Silverlight 应用程序中创建超链接

此页仅适用于 Silverlight 1 项目

在 Microsoft Silverlight 1.0 应用程序中创建超链接与在 Windows Presentation Foundation (WPF) 应用程序中创建超链接略有不同。与 Silverlight 1.0 应用程序中的所有交互功能一样,将创建事件处理程序方法以响应用户操作,然后将 window 对象的 location 属性设置为新的 URL。

在 Silverlight 1 应用程序中创建超链接

  1. 在 Silverlight 1.0 项目的主 XAML 文档中,选择“工具箱”中的“画布”Cc295285.ecb419d9-1def-4c4d-9656-cab9bdb89672(zh-cn,Expression.10).png 控件,然后在美工板上绘制画布对象。

  2. 右键单击“对象和时间线”下的画布对象,然后选择“重命名”。为画布对象输入一个新名称,如“MyHyperlink”。

  3. 在“MyHyperlink”对象仍为选定状态下,打开“属性”面板。在“公共属性”下,将“Cursor”属性设置为“Hand”。当用户将指针移到“MyHyperlink”画布对象上时,指针将变为手的形状。

  4. 双击“MyHyperlink”对象以将其激活。该画布对象周围将显示一个黄色范围框,用于将该对象标识为已激活对象。将添加新的对象作为已激活对象的子对象。

  5. 从“工具箱”中选择“TextBlock”Cc295285.42165963-00f7-4a33-abcd-b0849edebada(zh-cn,Expression.10).png 控件,然后在“MyHyperlink”对象内绘制一个文本块对象。

  6. 确保此时正处于文本编辑模式(按 F2 进入)。将文本块中的内容更改为“链接”。按 Esc 退出文本编辑模式。

  7. 在“项目”面板中的“文件”下,双击 XAML 文档所对应的代码隐藏文件。例如,如果正在编辑的 XAML 文档名为“Page.xaml”,请双击“Page.xaml.js”文件。所对应的代码隐藏文件将在 Expression Blend 2 内部的 JavaScript 编辑器中打开。

  8. 已存在一个与事件处理程序挂钩的代码行示例,类似于下面这样:

    rootElement.addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.handleMouseDown));
    

    在该代码行的下面添加以下代码:

    if (null != this.control.content.findName("MyHyperlink"))
    this.control.content.findName("MyHyperlink").addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.handleHyperlink));
    

    此代码将测试名为 MyHyperlink 的对象,如果存在该对象,便会添加一个名为 handleHyperlink 的事件处理程序方法来响应 MouseLeftButtonDown 事件。

  9. 代码隐藏文件已包含一个名为 handleMouseDown 的示例事件处理程序方法。请注意,在 handleLoad 方法的末尾有一个逗号 (,) 显示在最后一个大括号 (}) 的后面,但是 handleMouseDown 方法的最后一个大括号后未显示任何逗号。这是因为 handleMouseDown 是声明的最后一个方法。添加新方法时,请确保每个方法(最后一个方法除外)的最后一个大括号的后面都存在一个逗号。

  10. 最好是在 handleMouseDown 事件之前添加下面的事件处理程序方法:

    handleHyperlink: function(sender, eventArgs)
    {
        window.location = "Http://www.microsoft.com";
    },
    

    此方法对用户在“MyHyperlink”画布对象内部单击鼠标左键的操作进行响应,并将浏览器重定向到 Http://www.microsoft.com 网站。

  11. 按 F5 以测试应用程序。单击“链接”文本以查看是否进行重定向。

另请参见

概念

动手试验:创建可打开浏览器窗口的超链接

在 Page 文档中创建超链接