Windows Phone 7应用程序如何从内部导航到互联网?

17
我有以下问题: 我有一个Windows Phone 7应用程序,并且我有一个HyperlinkButton,其NavigateUri绑定到像这样创建的Uri
Uri uri = new Uri("http://google/ro",UriKind.Ablosute)

但是当我点击按钮时,出现了以下错误:

导航仅支持相对于“/”开头的片段或包含“;component/”的相对 URI。
参数名称:uri

我做错了什么?还是WP7不允许使用HyperlinkButton从应用程序中浏览互联网?因为当我像这样创建URI:Uri uri = new Uri("/Page.xaml",UriKind.Relative),它会将我重定向到项目中的Page.xaml

3个回答

34

我发现一个相当奇怪的解决方法来解决这个问题。只需将TargetName="_blank"属性添加到您的HyperlinkButton控件中,它就会神奇地开始工作。

<HyperlinkButton Content="Google" NavigateUri="http://google.com" TargetName="_blank" />

克里斯


这个类似于WebBrowserTask的行为。http://social.msdn.microsoft.com/Forums/en-US/windowsphone7series/thread/98fefb30-a9f9-4a5f-9942-6965cb2f2e3c - Mick N
我也可以,很奇怪 :)。 - Mark Vincze
1
截至2014年9月,这仍适用于Windows Phone 8.1 Silverlight。非常奇怪!! - Jedidja

3

您不能使用手机导航系统导航到网页(您期望它在哪里显示?)。但是,您可以使用Web浏览器控件在应用程序中显示网页。请参见此示例

您还可以使用Web浏览器任务之类的东西

WebBrowserTask wtb = new WebBrowserTask();
wtb.Uri = new Uri("http://www.google.com", UriKind.Absolute); 
wtb.Show(); 

为了清晰起见,您应该在超链接按钮的“Click”事件处理程序中调用上述内容。 - Matt Lacey

0

URL已经过时了。请使用下面的Uri

private void Button_Click(object sender, RoutedEventArgs e)
{
    WebBrowserTask wtb = new WebBrowserTask();
    wtb.Uri = new Uri("http://www.google.com", UriKind.Absolute); 
    wtb.Show();         
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接