2010-11-09 65 views

回答

26

您可以使用WebBrowserTask在浏览器中启动一个URI。

使用方法如下:

var wbt = new WebBrowserTask(); 
wbt.URL = "http://stackoverflow.com/"; 
wbt.Show(); 
+0

嗨Sevki,我就投了这两种技术上以来在同一时间同一个答案,都正确。此外,我将在下面添加另一个替代方案,即使这些方案并不完全符合您的要求。 – 2010-11-10 00:00:27

9

您需要使用WebBrowserTask:

WebBrowserTask browser = new WebBrowserTask(); 
browser.URL = "http://www.google.com"; 
browser.Show(); 
0

只是让你知道,你也可以使用WebBrowser控件嵌入您的应用程序中的浏览器。

它的存在,在工具箱中,只需将其拖动你的页面上。你可以,如果你想喜欢代码浏览..

private void webBrowser1_Loaded(object sender, RoutedEventArgs e) { 
    webBrowser1.Navigate(new Uri("http://www.bing.com/", UriKind.Absolute)); 
} 
+0

如果您这样做,请注意可能对后退按钮行为造成的影响。 - 如果您使用web浏览器控件全屏模仿IE,后退按钮将不会像在IE中那样通过多个网页导航。 – 2010-11-10 00:13:41

+0

感谢您澄清,马特。是WebBrowser和WebBrowserTask不执行完全相同的功能。 Sevki,如果你决定进一步研究它,你会看到它们有什么不同。这不是作为一个相互竞争的答案发布,而是让你意识到你的所有选择......然后你可以决定什么适合你的需求。 – 2010-11-10 03:23:17

+0

我意识到这一点。下面是我对有利弊两......你必须当你重定向到一个外部实例,并不能显示你的自定义控件做墓碑的问题,但在嵌入式版本好好尝试一下有下载proress改变事件以显示网页下载的进度,让您用静态(具有讽刺意味的)动画。我最终选择嵌入式,因为在这个时候它看起来更合适。 – Sevki 2010-11-10 09:17:42

3

MattOliver已经回答了这个问题,但我一直在寻找这一点,并认为因为我讨厌追查命名空间一些额外的信息将是有益的:

  • 你必须有到Microsoft.Phone.dll引用(在Silverlight应用程序自动)
  • 你需要把using Microsoft.Phone.Tasks;在类的顶部(这是那里的WebBrowserTask声明的命名空间)。

然后你就可以使用上面所示的代码,或者用这种轻微的变化:只要你在你的应用程序处理的墓碑

WebBrowserTask task = new WebBrowserTask() { URL = "http://wirebear.com/blog" }; 
task.Show(); 

,用户可以只打回返回通常是期望的行为。另一个好处是浏览器的加载非常适合WP7,所以它看起来像是你的应用程序的一部分。浏览器带有旋转门动画,让你的appBar显示片刻,然后将它们翻转到浏览器图标 - 对于2行代码来说,这是一个非常好的效果!

+0

你可以右键点击并选择“解决”。这应该为你节省一些时间。 – jalgames 2014-04-28 17:09:25

13

在Windows Phone 8的,URL已逐步淘汰。使用这个来代替:

WebBrowserTask webBrowserTask = new WebBrowserTask(); 

webBrowserTask.Uri = new Uri("http://msdn.microsoft.com", UriKind.Absolute); 

webBrowserTask.Show(); 

见关于IE任务的文档在MSDN