Una delle caratteristiche di Windows Phone è costituita dalla navigazione basate su pagine che forniscono un'esperienza simile al web, sulle quali possiamo agire con il pulsante back. Tutte le pagine vengono ospitate da un PhoneApplicationFrame, oggetto che si occupa di gestire la navigazione e lo stack dell'history. Come possiamo vedere dal file App.xaml.cs, è un elemento visuale che costituisce la radice della nostra applicazione. Se ne deduce quindi che lavorando su di esso otteniamo una modifica che influisce all'esterno di tutte le pagine presenti nell'applicazione.
Come detto, essendo un elemento, anch'esso è sottoposto al sistema di style di XAML, perciò lo possiamo personalizzare, per aggiungere ulteriori elementi che accompagnano tutte le pagine. Poniamo per esempio di voler inserire un banner sempre presente nella parte inferiore di tutte le pagine. Possiamo raggiungere l'obiettivo sfruttando gli stili impliciti, creandone uno nuovo nel file App.xaml. Nello snippet seguente possiamo vedere il markup da inserire per inserire una sezione visibile in tutte le pagine.
<Application.Resources> <Style TargetType="phone:PhoneApplicationFrame"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="phone:PhoneApplicationFrame"> <Grid> <Grid.RowDefinitions> <RowDefinition /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <!-- contenuto della pagina --> <ContentPresenter /> <Border Height="80" Grid.Row="1"> <!-- banner --> </Border> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style> </Application.Resources>
Questa tecnica è inoltre molto utile per inserire elementi che vogliamo aggiungere in tutta l'app, come può essere un controllo per la gestione dei caricamenti (un busy indicator).
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare WebJobs su Linux con Azure App Service
Documentare i servizi REST con Swagger e OpenAPI con .NET 9
Utilizzare i variable font nel CSS
Introduzione ai web component HTML
Applicare un filtro per recuperare alcune issue di GitHub
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Referenziare un @layer più alto in CSS
Ridurre il reflow cambiando il CSS
Gestione file Javascript in Blazor con .NET 9
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
I più letti di oggi
- Segnala questa pagina ad un amico
- SQL Server 2005 in beta 2
- Gestione CSS in Blazor con .NET 9
- Documentare i servizi REST con Swagger e OpenAPI con .NET 9
- Gestione ciclo di vita in .NET Aspire
- Calcolare il resto di una divisione
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!