使用Visual Studio 11(Windows 8)在XAML中添加超链接按钮

本文关键字:XAML 添加 按钮 超链接 Studio Visual Windows 使用 | 更新日期: 2023-09-27 18:24:59

我需要添加一个超链接按钮,指向用C#和XAML编写的metro风格应用程序的网页。与Silverlight一样,没有NavigateURI选项。是否有其他选项可以将超链接重定向到特定网页?

使用Visual Studio 11(Windows 8)在XAML中添加超链接按钮

示例应用程序包中有一个示例可以做到这一点。

    // Launch a URI.
    private async void LaunchUriButton_Click(object sender, RoutedEventArgs e)
    {
        // Create the URI to launch from a string.
        var uri = new Uri(uriToLaunch);
        // Launch the URI.
        bool success = await Windows.System.Launcher.LaunchUriAsync(uri);
        if (success)
        {
            rootPage.NotifyUser("URI launched: " + uri.AbsoluteUri, NotifyType.StatusMessage);
        }
        else
        {
            rootPage.NotifyUser("URI launch failed.", NotifyType.ErrorMessage);
        }
    }

我不知道Silverlight,但在WPF(几乎与SL相同)中,我们有一个内联标记为Hyperlink的TextBlock。

<TextBlock>
    Some text 
    <Hyperlink 
        NavigateUri="http://somesite.com"
        RequestNavigate="Hyperlink_RequestNavigate">
        some site
    </Hyperlink>
    some more text
</TextBlock>

U说"就像在silverlight中一样,这里没有NavigateURI选项"。没问题。

我不知道NavigateURIb4的这个功能。所以我所做的是,当用户点击该链接时,它会调用浏览器来打开我请求的链接。在鼠标悬停中,我将光标更改为手形,文本颜色为红色,在鼠标悬停时返回默认颜色(蓝色)和光标(箭头)。

我想你明白我的意思了。

我在博客上写了一篇关于在Windows8 XAML中连接HyperlinkButton以启动internet explorer 的文章

http://zubairahmed.net/?p=266

Windows.System.Launcher具有为给定的Uri或StorageFile打开相应应用程序的方法。只需将其连接到按钮的点击事件

以防万一有人偶然发现:我在Windows 8 RTM上使用Visual Studio 2012 RTMNavigateURI返回并打开默认的城域浏览器。