2011-01-24 7 views
8

Mimari:
Bir düğmeyi tıklattığınızda, içinde bir bağlantı içeren bir HTML sayfası açılır. Bağlantıları tıklatıp WP7'nin harici (varsayılan) tarayıcısında açmak istiyorum, böylece uygulama kapanır ve bağlantı harici olarak açılır. Bunu nasıl uygulayabilirim?
Eklenen xaml dosyasında bu kontrolü:WP7 harici tarayıcıda Bağlantı açmak istiyor

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

düğmesi tıklandığında:

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

Şimdi index_en.html harici tarayıcıda açılacak olan bir bağlantı vardır.

cevap

7

Tarayıcıyı başlatmak için WebBrowserTask kullanabilirsiniz.

Ben, (en az Öykünücüsünde) WP7 yılında, <a> etiketinde bu yüzden Target özelliğini kullanarak yapmak. Ama olur, size rağmen :(

+0

Atlayarak bunu nasıl uygulayabilirim? – Shaireen

+0

@Shaireen: Uygulamak * ne * atlayarak? Ne atlıyorsun? –

+0

Kendimi temizlemediğim için üzgünüm.Genellikle Web tarayıcısı görevini kullanırken bir URL'yi iletmem gerekiyor.Yani bu URL html dosyasının adı olmalı? ya da şud açık olan bağlantı mı? – Shaireen

12

Normalde kendisine iletmek URL'yi kaçmak için gereken bulduk Bu işe yaramazsa

ne yapabilirdi kesişme aşağıdaki gibi Navigating olay şey kullanıyor. Bunugibi bir şey kullanabilirsiniz

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(); 
    } 
} 
+0

"IsSupposedToOpenInPhoneBrowser (e.Uri)" özelliği bulunamadı. Ne anlama geliyor? – Shaireen

+0

Telefon tarayıcısında açmadan önce Uris'i doğrulamak/filtrelemek istiyorsanız, sadece sahte bir yöntem yer tutucusu ... olmadan yapabilirsiniz. – decyclone

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