Question

J'ai un usercontrol contenant un cadre avec une Urimapper.C'est aussi mon racoliaire, c'est donc ce qui est chargé lorsque l'application est chargée.Ceci est mon xaml (simplifié):

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

Tout cela fonctionne bien, mais maintenant, je veux ajouter un bouton arrière.Lorsque l'utilisateur clique sur le bouton, je veux appeler

NavigationService.GoBack();

Je peux appeler le navigagerservice des pages (page1 et page2), mais comment puis-je appeler la navigation de ce "parent" userercontrol?C'est possible?Dans cet usercontrol, le service NavigationService est toujours nul.

Je souhaiterais soit accéder à la navigation à partir des pages présentées dans le cadre, soit transmettre le bouton Cliquez sur l'événement dans ces pages.

Je ne veux pas avoir à mettre un bouton dans chaque page et à gérer la navigation là-bas.

Était-ce utile?

La solution

essayez d'utiliser

ContentFrame.Navigate(YOUR_URI);

et

ContentFrame.GoBack();

Dans votre parent UserControl contenant le cadre de navigation avec X: Nom="ContentFrame".

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top