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
Personalizzare le richieste con i rule set di Azure Front Door
Utilizzare l'API del browser fetch
Migrare un repository che contiene large file storage objects in GitHub
Real world .NET Architecture
Organizzare i moduli sfruttando CommonJS
Filtrare le chiamate HTTP ad un App Service in base al servizio Azure
Aggiungere le issue di più repository in una board in GitHub
Utilizzare il metodo reduce in JavaScript
Le novità di Angular 14
YARP: un reverse proxy in ASP.NET Core
Leggere la configurazione da Azure KeyVault con logica di retry in ASP.NET Core
Condividere i workflow tra più repository in GitHub