动手试验:创建可打开浏览器窗口的超链接
若要创建可打开 Internet 浏览器窗口的超链接,必须使用事件处理程序方法。下面的过程描述了如何在文本控件中创建将按指定的 URL 打开浏览器窗口的超链接。
如果只想在“Page”文档中创建一个将转到应用程序中的其他“Page”文档或某个网页的超链接,则可以使用“属性”面板中的“超链接”按钮。有关详细信息,请参阅 在 Page 文档中创建超链接。
在文本控件中创建超链接
在“设计”视图中,在美工板上绘制一个文本控件,如“Button”或“Label”。有关详细信息,请参阅向美工板上添加文本控件。
在“对象和时间线”下,选择新绘制的文本对象。
在“属性”面板的右上角区域中,单击“事件” 按钮。
“属性”面板将切换到“事件”视图。
找到下列事件之一:
“Click” “Button”、“CheckBox”以及其他控件均存在此事件。
“MouseDown” 其他的大部分控件(如“Label”或“Grid”)都存在此事件。
在文本框中输入事件的名称,或双击文本框来创建有关事件处理程序方法的初始代码。
如果安装了 Microsoft Visual Studio 2008,则 Microsoft Expression Blend 将在文档的代码隐藏文件中生成事件处理程序方法,然后在 Visual Studio 2008 中打开该文件。如果尚未安装 Visual Studio 2008,则 Expression Blend 会将事件处理程序方法的代码复制到剪贴板,然后您必须在文本编辑器中打开代码隐藏文件来贴入代码。有关详细信息,请参阅编辑代码隐藏文件。
将下面的代码粘贴到事件处理程序方法内:
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
保存文件,然后按 F5 以运行应用程序并测试超链接。
在 TextBlock 的一部分中创建超链接
在美工板上绘制一个“TextBlock”控件。有关详细信息,请参阅向美工板上添加文本控件。
右键单击“对象和时间线”下的“TextBlock”,然后单击“查看 XAML”。
美工板将切换到“拆分”视图,并在其中突出显示“TextBlock”的 XAML 代码行。
用下面的 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”元素或调整其大小。
如果希望设置“TextBlock”元素的内容格式或添加更多的文本,请在“设计”视图中选择“TextBlock”对象,然后按 F2 进入文本编辑模式。在文本编辑模式下,还可以将其他内容(如图像或其他对象)添加到“TextBlock”。有关详细信息,请参阅编辑文本、设置文本格式和向文本流中添加对象。
若要使超链接起作用,必须添加“Click”事件处理程序方法。在“项目”面板中双击文档的代码隐藏文件以将其打开。如果安装了 Visual Studio 2008,则 Expression Blend 将在其中打开该文件。如果尚未安装 Visual Studio 2008,则 Expression Blend 将在与 .cs 或 .vb 文件扩展名相关联的任何文本编辑器中打开代码隐藏文件。如果不存在与这些文件扩展名相关联的任何程序,则必须打开一个文本编辑器,然后在其中打开代码隐藏文件。有关详细信息,请参阅编辑代码隐藏文件。
在代码隐藏文件中,将下面的代码粘贴到类声明中(例如,粘贴到 .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
保存文件,然后按 F5 以运行应用程序并测试超链接。