Chiama NavigationService da Silverlight UserControl che contiene la cornice di navigazione

StackOverflow https://stackoverflow.com//questions/9622993

  •  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ì.

È stato utile?

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".

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top