Windows Phone 7 从应用程序导航到 Internet

Posted

技术标签:

【中文标题】Windows Phone 7 从应用程序导航到 Internet【英文标题】:Windows Phone 7 navigation to internet from an application 【发布时间】:2011-05-29 11:35:22 【问题描述】:

我有以下问题: 我有我的 Windows Phone 7 应用程序,我有一个 HyperlinkButton,其中 NavigateUri 绑定到一个 Uri,如下所示:

Uri uri = new Uri("http://google/ro",UriKind.Ablosute)

但是当我按下按钮时出现以下错误:

仅支持以片段形式、以“/”开头或包含“;component/”的相对 URI 进行导航。\r\n参数名称:uri

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

【问题讨论】:

【参考方案1】:

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

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

克里斯

【讨论】:

这行为类似于 WebBrowserTask。 social.msdn.microsoft.com/Forums/en-US/windowsphone7series/… 对我也有用,奇怪:)。 这仍然适用于 2014 年 9 月的 Windows Phone 8.1 Silverlight。很奇怪!【参考方案2】:

您不能使用手机导航系统导航到网络(您希望它显示在哪里?)。但是您可以使用 Web 浏览器控件在您的应用程序中显示网页。看到这个example

你也可以使用 Web Browser Task 类似的东西

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

【讨论】:

为清楚起见,您可以在Click 事件处理程序中为超链接按钮调用上述方法。【参考方案3】:

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();         

【讨论】:

以上是关于Windows Phone 7 从应用程序导航到 Internet的主要内容,如果未能解决你的问题,请参考以下文章

Windows Phone 8.1 无法识别导航到的页面

使用 Windows Phone 7 媒体播放器在页面之间共享媒体播放

IBM Worklight v 5.0.6 - 无法在 Windows Phone 7.5 环境中导航多页

导航到特定页面在 Windows Phone Toast 通知中不起作用

使用 Cordova/Phonegap 保存从手机摄像头拍摄的图像 Windows Phone 7

如何将图片另存为从 windows phone 7 到服务器的文件路径