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
Migliorare l'accessibilità tramite l'attributo aria-live
Indicizzare e ricercare i blob di Azure Storage
Utilizzare azurite come simulatore di Azure Storage
Impostare il claim desiderato per il nome utente in ASP.NET Core con Microsoft Identity
Performance in .NET 6
Conversione di tipo in una pipeline di Azure DevOps
Utilizzare .NET 6 con le Azure Function
Graceful shutdown di un hosted service di ASP.NET Core
Le novità di Angular 13 e del suo ecosistema
Impostare il contenuto dell'head all'interno di ogni pagina Blazor
Le novità di .NET 6 e C# 10
Compilare automaticamente applicazioni .NET 6 con le pipeline di Azure DevOps e GitHub Action