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
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Gestire domini wildcard in Azure Container Apps
Sostituire la GitHub Action di login su private registry
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Implementare l'infinite scroll con QuickGrid in Blazor Server
Utilizzare Azure AI Studio per testare i modelli AI
Routing statico e PreRendering in una Blazor Web App
Eseguire una GroupBy per entity in Entity Framework
Migrare una service connection a workload identity federation in Azure DevOps
Eseguire una query su SQL Azure tramite un workflow di GitHub
Utilizzare un service principal per accedere a Azure Container Registry
Limitare le richieste lato server con l'interactive routing di Blazor 8
.NET Conference Italia 2023
I più letti di oggi
- Utilizzare Docker Compose con Azure App Service
- Utilizzare QuickGrid di Blazor con Entity Framework
- Modernizzare le applicazioni WPF e Windows Forms con Blazor
- ASP 3 per esempi
- annunciato #netstandard 2.1. .NET Core lo supporterà a partire da #netcore3, così come le prossime versione di #xamarin, #mono e #unity.il supporto per #netfx 4.8, invece, non ci sarà. https://aspit.co/bq2
- Steel Style CheckBox per Silverlight 4.0