如何从Windows Phone应用程序启动IE7?

17

如何从应用程序启动IE实例?将页面加载到带有浏览器窗口的窗口中是否是更好的方法?

5个回答

26

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

像这样使用:

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

嗨Sevki,我会投票支持这两个答案,因为它们在技术上是相同的,并且都是正确的。另外,我还会提供另一种选择供考虑,尽管不完全符合你的要求。 - Mick N

13
在Windows Phone 8中,URL已被淘汰。请改用以下内容:
WebBrowserTask webBrowserTask = new WebBrowserTask();

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

webBrowserTask.Show();

请参阅位于MSDN上的IE任务文档。


9
您需要使用WebBrowserTask:
WebBrowserTask browser = new WebBrowserTask();
browser.URL = "http://www.google.com";
browser.Show();

3

MattOlivier已经回答了这个问题,但我正在寻找这个问题,并认为一些额外的信息将会有所帮助,因为我讨厌跟踪命名空间:

  • 您必须引用 Microsoft.Phone.dll(在 Silverlight 应用程序中自动引用)
  • 您需要在类的顶部放置 using Microsoft.Phone.Tasks;(这是声明 WebBrowserTask 的命名空间)。

然后您可以使用上面显示的代码,或者使用以下略微不同的代码:

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

只要您在应用程序中处理了墓碑问题,用户可以只需点击返回来返回,这通常是期望的行为。另一个好处是,浏览器的加载非常好地集成在WP7中,以至于它实际上看起来就像是您的应用程序的一部分。浏览器通过旋转门动画进入,并保持您的appBar显示一段时间,然后将其翻转到浏览器图标 - 这是仅有两行代码的非常不错的效果!

你可以右键点击它,然后选择“解决”。这样可以节省你一些时间。 - jalgames

0

请注意,您还可以使用WebBrowser控件在应用程序中嵌入浏览器。

它在工具箱中,只需将其拖放到页面上即可。如果需要,您可以使用代码进行导航,例如...

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

如果你这样做,请注意对返回按钮行为可能产生的影响。- 如果您使用WebBrowser控件全屏模拟IE,则返回按钮将无法像在IE中那样通过多个网页进行导航。 - Matt Lacey
感谢澄清,马特。是的,WebBrowser和WebBrowserTask的功能并不完全相同。Sevki,如果你决定进一步了解它们的区别,你会看到它们之间的差异。这并不是作为竞争答案发布的,而是让你意识到所有的选择......然后你可以决定哪个适合你的需求。 - Mick N
我知道这个问题。在这个问题上,我的看法是双方都有利弊...当您重定向到外部实例并且无法显示自定义控件时,您必须进行墓碑记录,但嵌入式版本没有下载进度更改事件来显示网页下载的进度,这使您只能使用静态(具有讽刺意味的)动画。最终我选择了嵌入式版本,因为它在此时似乎更合适。 - Sevki

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