Chiama NavigationService da Silverlight UserControl che contiene la cornice di navigazione
-
09-12-2019 - |
Domanda
Ho un usercontrol che contiene una cornice con un urimapper.Questo è anche il mio radicale, quindi è ciò che viene caricato quando viene caricata l'applicazione.Questo è il mio (semplificato) XAML:
<UserControl>
<navigation:Frame x:Name="ContentFrame" Source="/Page1">
<navigation:Frame.UriMapper>
<uriMapper:UriMapper>
<uriMapper:UriMapping Uri="" MappedUri="/Views/Home.xaml"/>
<uriMapper:UriMapping Uri="/{pageName}" MappedUri="/Views/{pageName}.xaml"/>
</uriMapper:UriMapper>
</navigation:Frame.UriMapper>
</navigation:Frame>
<HyperlinkButton x:Name="Page1Link" NavigateUri="/Page1" TargetName="ContentFrame" Content="Page1"/>
<HyperlinkButton x:Name="Page2Link" NavigateUri="/Page2" TargetName="ContentFrame" Content="Page2"/>
</UserControl>
.
Tutto funziona alla grande, ma ora voglio aggiungere un pulsante indietro.Quando l'utente fa clic sul pulsante, voglio chiamare
NavigationService.GoBack();
.
Posso chiamare il NavigationService dalle pagine (Page1 e Page2), ma come posso chiamare il navigatore da questo 'genitore' usercontrol?È possibile?In questo UserControl, il NavigationService è sempre nullo.
Vogliamo accedere a NavigationService dalle pagine visualizzate nel fotogramma o passare il pulsante Fare clic su Evento su queste pagine.
Non voglio dover mettere un pulsante in ogni pagina e gestire la navigazione lì.
Soluzione
prova a usare
ContentFrame.Navigate(YOUR_URI);
.
e
ContentFrame.GoBack();
.
Nel tuo genitore usercontrol che contiene il telaio di navigazione con X: Name="ContentFrame".