2010-11-09 8 views

risposta

26

È possibile avviare un URI nel browser utilizzando WebBrowserTask.

usare in questo modo:

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

Ciao Sevki, voterò su entrambi, dal momento che tecnicamente la stessa risposta allo stesso tempo ed entrambi corretti. Un'altra alternativa che aggiungerò qui sotto per considerazione anche se non esattamente quello che hai chiesto. –

9

è necessario utilizzare il WebBrowserTask:

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

Solo così si sa, è anche possibile incorporare un browser all'interno della vostra applicazione utilizzando il controllo WebBrowser.

È presente nella casella degli strumenti, è sufficiente trascinarlo sulla pagina. È possibile navigare con il codice se si desidera come ..

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

Se si esegue questa operazione, fare attenzione al possibile impatto sul comportamento del pulsante Indietro. - Se si utilizza il controllo WebBrowser a schermo intero per simulare IE, il pulsante Indietro non tornerà indietro tra più pagine Web come farebbe in IE. –

+0

Grazie per aver chiarito che Matt. Sì WebBrowser e WebBrowserTask non eseguono esattamente le stesse funzioni. Sevki, se decidi di esaminarlo ulteriormente, vedrai come differiscono. Questo non è pubblicato come una risposta in competizione, piuttosto per farti conoscere tutte le tue opzioni ... quindi puoi decidere cosa funziona per le tue esigenze. –

+0

Ne sono consapevole. Ecco il mio punto di vista sul fatto che ci sono pro e contro in entrambi ... devi eseguire il distacco quando si reindirizza a un'istanza esterna e non è possibile visualizzare i controlli personalizzati, ma la versione incorporata non ha un evento modificato Download proress per mostrare il progresso del download della pagina web che ti lascia con un'animazione statica (ironicamente).Ho finito per andare con incorporato perché sembrava più appropriato in questo momento. – Sevki

3

Matt e Oliver hanno già risposto alla domanda, ma io ero alla ricerca di questo e ho pensato qualche informazione in più sarebbe utile in quanto io odio rintracciare gli spazi dei nomi:

  • devi avere un riferimento al Microsoft.Phone.dll (Automatic in Silverlight Apps)
  • Hai bisogno di mettere using Microsoft.Phone.Tasks; al top della classe (questo è lo spazio dei nomi in cui viene dichiarato il WebBrowserTask).

quindi è possibile utilizzare il codice mostrato sopra, o utilizzare questo leggera variazione:

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

Finché si hanno gestito rimozione definitiva nella vostra applicazione, l'utente può semplicemente premere di nuovo per tornare che di solito è il comportamento desiderato Un altro vantaggio è che il caricamento del browser si integra molto bene in WP7 in modo che appaia effettivamente come parte della tua app. Il browser entra in gioco con un'animazione girevole e mantiene la barra delle applicazioni visibile per un attimo, quindi le gira sulle icone del browser: un effetto molto bello per solo 2 righe di codice!

+0

Puoi fare clic con il tasto destro su questo e selezionare "risoluzione". Questo dovrebbe farti risparmiare tempo. – jalgames

13

In Windows Phone 8, l'URL è stato eliminato gradualmente. Usare questo invece:

WebBrowserTask webBrowserTask = new WebBrowserTask(); 

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

webBrowserTask.Show(); 

Vedere la documentazione sul compito IE a MSDN.