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

此页仅适用于 WPF 项目

若要创建可打开 Internet 浏览器窗口的超链接,必须使用事件处理程序方法。下面的过程描述了如何在文本控件中创建将按指定的 URL 打开浏览器窗口的超链接。

如果只想在“Page”文档中创建一个将转到应用程序中的其他“Page”文档或某个网页的超链接,则可以使用“属性”面板中的“超链接”按钮。有关详细信息,请参阅 在 Page 文档中创建超链接

在文本控件中创建超链接

  1. 在“设计”视图中,在美工板上绘制一个文本控件,如“Button”或“Label”。有关详细信息,请参阅向美工板上添加文本控件

  2. 在“对象和时间线”下,选择新绘制的文本对象。

  3. 在“属性”面板的右上角区域中,单击“事件”Cc304466.6c67bb3b-e8a2-4a63-bad5-54d5c15b04dd(zh-cn,Expression.10).png 按钮。

    “属性”面板将切换到“事件”视图。

  4. 找到下列事件之一:

    • “Click”   “Button”、“CheckBox”以及其他控件均存在此事件。

    • “MouseDown”   其他的大部分控件(如“Label”或“Grid”)都存在此事件。

  5. 在文本框中输入事件的名称,或双击文本框来创建有关事件处理程序方法的初始代码。

    如果安装了 Microsoft Visual Studio 2008,则 Microsoft Expression Blend 将在文档的代码隐藏文件中生成事件处理程序方法,然后在 Visual Studio 2008 中打开该文件。如果尚未安装 Visual Studio 2008,则 Expression Blend 会将事件处理程序方法的代码复制到剪贴板,然后您必须在文本编辑器中打开代码隐藏文件来贴入代码。有关详细信息,请参阅编辑代码隐藏文件

  6. 将下面的代码粘贴到事件处理程序方法内:

    try
    {
      System.Diagnostics.Process.Start("https://www.microsoft.com");
    }
    catch {}
    
    Try
    System.Diagnostics.Process.Start("https://www.microsoft.com")
    Catch
      'Code to handle the error.
    End Try
    

    如果使用的是“Click”事件并将其命名为 OnClick,则事件处理程序方法应类似于以下形式:

    private void OnClick(object sender, RoutedEventArgs e)
    {
        try    {System.Diagnostics.Process.Start("https://www.microsoft.com");    }    catch {}
    }
    
    Private Sub OnClick(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
        TrySystem.Diagnostics.Process.Start("https://www.microsoft.com")    Catch        'Code to handle the error.    End Try
    End Sub
    

    如果使用的是“MouseDown”事件并将其命名为 OnMouseDown,则事件处理程序方法应类似于以下形式:

    private void OnMouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
    {
        try    {System.Diagnostics.Process.Start("https://www.microsoft.com");    }    catch { }
    }
    
    Private Sub OnMouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Input.MouseButtonEventArgs)
        TrySystem.Diagnostics.Process.Start("https://www.microsoft.com")    Catch        'Code to handle the error.    End Try
    End Sub
    
  7. 保存文件,然后按 F5 以运行应用程序并测试超链接。

在 TextBlock 的一部分中创建超链接

  1. 在美工板上绘制一个“TextBlock”控件。有关详细信息,请参阅向美工板上添加文本控件

  2. 右键单击“对象和时间线”下的“TextBlock”,然后单击“查看 XAML”。

    美工板将切换到“拆分”视图,并在其中突出显示“TextBlock”的 XAML 代码行。

  3. 用下面的 XAML 代码替换“TextBlock”对象:

    <TextBlock TextWrapping="Wrap">
      <Run Text="Click "/>
      <Hyperlink Click="OnClick">
        <Run Text="here"/>
      </Hyperlink>
      <Run Text=" for more information"/>
    </TextBlock>
    

    在此 XAML 代码中,“TextBlock”具有与链接前后的文本以及超链接本身的文本相对应的子元素。由于此 XAML 代码示例将“TextBlock”放置在美工板的左上角区域,因此可能必须重新放置“TextBlock”元素或调整其大小。

  4. 如果希望设置“TextBlock”元素的内容格式或添加更多的文本,请在“设计”视图中选择“TextBlock”对象,然后按 F2 进入文本编辑模式。在文本编辑模式下,还可以将其他内容(如图像或其他对象)添加到“TextBlock”。有关详细信息,请参阅编辑文本设置文本格式向文本流中添加对象

  5. 若要使超链接起作用,必须添加“Click”事件处理程序方法。在“项目”面板中双击文档的代码隐藏文件以将其打开。如果安装了 Visual Studio 2008,则 Expression Blend 将在其中打开该文件。如果尚未安装 Visual Studio 2008,则 Expression Blend 将在与 .cs 或 .vb 文件扩展名相关联的任何文本编辑器中打开代码隐藏文件。如果不存在与这些文件扩展名相关联的任何程序,则必须打开一个文本编辑器,然后在其中打开代码隐藏文件。有关详细信息,请参阅编辑代码隐藏文件

  6. 在代码隐藏文件中,将下面的代码粘贴到类声明中(例如,粘贴到 .vb 文件中的 End Class 行之前或 .cs 文件中的倒数第二个 } 之前):

    private void OnClick(object sender, RoutedEventArgs e)
    {
        try    {System.Diagnostics.Process.Start("https://www.microsoft.com");    }    catch {}
    }
    
    Private Sub OnClick(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
        TrySystem.Diagnostics.Process.Start("https://www.microsoft.com")    Catch        'Code to handle the error.    End Try
    End Sub
    
  7. 保存文件,然后按 F5 以运行应用程序并测试超链接。

另请参见

概念

在 Page 文档中创建超链接

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