L'utilizzo degli oggetti Frame e Page permette la realizzazione di applicazioni navigabili, nelle quali ogni sezione può essere identificata da uno specifico Url ed è possibile consultare le varie pagine attraverso il normale modello di navigazione del browser.
L'associazione Url-Page può essere dichiarata nell'oggetto UriMapper esposto da Frame:
<navigation:Frame x:Name="ContentFrame" Style="{StaticResource ContentFrameStyle}" Source="/Home" Navigated="ContentFrame_Navigated" NavigationFailed="ContentFrame_NavigationFailed"> <navigation:Frame.UriMapper> <uriMapper:UriMapper> <uriMapper:UriMapping Uri="" MappedUri="/Views/Home.xaml" /> <uriMapper:UriMapping Uri="/Home" MappedUri="/Views/Home.xaml" /> <uriMapper:UriMapping Uri="/About" MappedUri="/Views/About.xaml" /> </uriMapper:UriMapper> </navigation:Frame.UriMapper> </navigation:Frame>
Di base una mappatura è definita attraverso una coppia Uri-MappedUri, per le quali, ad esempio, se si digita l'indirizzo http://localhost/Default.html#/About la Page About.xaml viene renderizzata all'interno dell'oggetto Frame.
Qualora l'Uri inserito nel browser non sia mappato ad alcuna Page l'applicazione andrebbe in errore, per gestire questo scenario e visualizzare una Page specifica, è sufficiente mappare un Uri non valido, che nel markup può essere definito come nel codice seguente.
<uriMapper:UriMapping Uri="{}{PaginaNonValida}" MappedUri="/Views/PageError404.xaml" />
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Eseguire attività con Azure Container Jobs
Usare le variabili per personalizzare gli stili CSS
Utilizzare Tailwind CSS all'interno di React: installazione
Sfruttare lo streaming di una chiamata Http da Blazor
Creare moduli CSS in React
Registrare servizi multipli tramite chiavi in ASP.NET Core 8
Sfruttare lo stream rendering per le pagine statiche di Blazor 8
Utilizzare le collection expression in C#
Usare un KeyedService di default in ASP.NET Core 8
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente
Assegnare un valore di default a un parametro di una lambda in C#
Cambiare la chiave di partizionamento di Azure Cosmos DB