2011-01-24 106 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(); 
} 
相關問題