2011-01-24 149 views
8

体系结构是这样的:
点击按钮打开一个HTML页面,其中包含一个链接。点击链接时,我想在WP7的外部(默认)浏览器中打开它,以便应用程序关闭并链接到外部。我怎样才能实现这个?
添加这种控制在XAML文件:想要打开WP7的外部浏览器中的链接

<phone:WebBrowser Name="browser" Margin="0,78,0,0" /> 

在按钮点击:

private void Information_Loaded(Object sender,RoutedEventArgs e) 
    { 
     Assembly assembly = Assembly.GetExecutingAssembly(); 

     using (Stream stream = assembly.GetManifestResourceStream("index_en.html")) 
     { 
      using (StreamReader reader = new StreamReader(stream)) 
      { 
       string html = reader.ReadToEnd(); 

       browser.NavigateToString(html);     
      } 
     } 

现在index_en.html有一个链接,是在外部浏览器中打开。

回答

7

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

我发现,你需要逃避你传递给它虽然:(

+0

如何通过跳过来实现它? – Shaireen 2011-01-24 07:14:13

+0

@Shaireen:实现*跳过什么*跳过什么? – 2011-01-24 07:16:10

12

通常情况下,URL,你会做这样使用Target财产上<a>标签,但是,在WP7(至少在仿真器)这不起作用

你可以做使用Navigating事件类似以下截距是:

void WebBrowser1_Navigating(object sender, NavigatingEventArgs e) 
{ 
    if (IsSupposedToOpenInPhoneBrowser(e.Uri)) 
    { 
     e.Cancel = true; 
     WebBrowserTask task = new WebBrowserTask(); 
     task.URL = e.Uri.ToString(); 
     task.Show(); 
    } 
} 
6

您可以使用类似的东西

private void Button_Click_1(object sender, RoutedEventArgs e) 
{ 
    WebBrowserTask webBrowserTask = new WebBrowserTask(); 
    webBrowserTask.Uri = new Uri("http://www.someUrl.com"); 
    webBrowserTask.Show(); 
} 
相关问题