Visualizzare una Page specifica in caso di errore di navigazione in Silverlight

di Alessio Leoncini, in Silverlight 5.0,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi