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
Ottimizzare la persistenza che coinvolge un solo oggetto con Entity Framework Core 7
Sfruttare i tag nell'output cache di ASP.NET Core 7
Health monitoring con Azure Container App
Creare applicazioni distribuite con Azure Container Apps e Dapr
Gestire i file esterni in una PWA
Le novità di .NET 7 e C# 11
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Raggruppare i parametri di una minimal API in un singolo oggetto in ASP.NET Core
Taggare automaticamente un repository con un workflow di GitHub
Eseguire operazioni con timeout in React
3 metodi JavaScript che ogni applicazione web dovrebbe contenere
Q# for Quantum Programming, an "only for the brave" session