Il controllo WebBrowser per Silverlight for Windows Phone

di Marco De Sanctis, in Windows Phone,

Raramente le applicazioni più interessanti rimangono circoscritte al dispositivo su cui sono installate: come abbiamo spiegato nel capitolo 2, il vero e proprio trampolino di lancio per la diffusione degli smartphone come dispositivo per le masse è stata la disponibilità di una connessione stabile a Internet, tramite la quale fare in modo che il terminale fosse in costante collegamento con il mondo esterno e con i servizi offerti dalla rete. Nel seguito del libro vedremo come effettuare invocazioni a servizi esterni e quali sono le implicazioni che l'esecuzione su un dispositivo Windows Phone comporta; nel giro di poche pagine saremo in grado di realizzare la nostra prima applicazione in grado di interfacciarsi con il web: un browser personalizzato, come quello in figura 4.14.


Lo XAML necessario per descriverne l'interfaccia è molto semplice e ha il suo cuore pulsante nel codice dell'esempio che segue, in particolare nell'utilizzo del controllo WebBrowser.

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
  <Grid.RowDefinitions>
    <RowDefinition Height="Auto" />
    <RowDefinition />
    <RowDefinition Height="Auto" />
  </Grid.RowDefinitions>
            
  <Grid.ColumnDefinitions>
    <ColumnDefinition Width="Auto" />
    <ColumnDefinition Width="*" />
    <ColumnDefinition Width="Auto" />
  </Grid.ColumnDefinitions>
            
  <TextBlock VerticalAlignment="Center">Url</TextBlock>
  <TextBox x:Name="url" InputScope="Url" Grid.Column="1" />
  <Button Grid.Column="2" Click="Button_Click" Content="Vai!" />
            
  <phone:WebBrowser x:Name="browser" 
                    Grid.Row="1" Grid.ColumnSpan="3" />
            
</Grid>

Esso è il primo oggetto che incontriamo specificatamente pensato per Windows Phone, appartiene all'assembly Microsoft.Phone.Controls e include tutta la logica per visualizzare pagine HTML, siano esse provenienti da indirizzi di rete o salvate localmente nel dispositivo.

Nel nostro caso, una volta che l'utente ha digitato l'indirizzo nel TextBox, non dobbiamo far altro che gestire il clic sul Button per avviare la navigazione verso la pagina richiesta, come nell'esempio:

private void Button_Click(object sender, RoutedEventArgs e)
{
  this.browser.Navigate(new Uri(this.url.Text, UriKind.Absolute));
}

Tramite il metodo Navigate si avvia la richiesta verso la risorsa definita tramite l'Uri. Nella nostra applicazione, probabilmente esso punterà a un indirizzo remoto, ma è possibile comunque referenziare anche un file HTML salvato localmente, ad esempio nell'isolated storage (parleremo in maniera più estesa di questo concetto nel capitolo 8), e utilizzare WebBrowser per mostrarla a video.

Questo script è tratto dal libro 'Sviluppare applicazioni per Windows Phone':
http://books.aspitalia.com/Windows-Phone/

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi