Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Windows Phone 7 : Navigation inter-pages avec la propriete Page.NavigationService

La propriété NavigationService de la classe PhoneApplicationPage (héritée de Page) nous permet de gérer facilement la navigation inter-pages dans les applications Windows Phone 7.

 

Navigation vers une page précise :

La méthode Navigate de la classe NavigationService permet de naviguer vers une page précise de l’application. Il suffit pour cela de lui passer une URI en guise de paramètre :

 

private void btnChangePage_Click(object sender, RoutedEventArgs e)

    this.NavigationService.Navigate(new Uri(“/OtherPage.xaml”, UriKind.Relative));  
}

 

L’énumération UriKind permet de préciser si le chemin précisé est un chemin relatif ou absolu.

Dans l’exemple ci-dessus, le clic sur le bouton “Change page” entraine l’affichage de la page “Other page” précisée dans l’URI.

image

Navigation dans l’historique des pages :

NavigationService enregistre la navigation sous forme d'entrées dans un historique de navigation. Il est tout à fait possible de naviguer facilement dans l’historique des pages visitées en utilisant les méthodes GoBack et GoForward.

La méthode GoBack permet de revenir sur la page précédemment visitée (même effet que le bouton “Previous” des navigateurs web) :

 

private void btnPrevious_Click(object sender, RoutedEventArgs e)

    this.NavigationService.GoBack();  
}

 

La méthode GoForward, quant à elle, permet d’atteindre de nouveau une page visitée suite à un retour en arrière dans l’historique (même effet que le bouton “Next” des navigateurs web) :

 

private void btnNext_Click(object sender, RoutedEventArgs e)

    this.NavigationService.GoForward();  
}

 

Les propriétés CanGoBack et CanGoForward de la classe NavigationService permettent de préciser si le retour en arrière et le retour en avant dans l’historique de navigation sont possibles.

 

Gestion du bouton “Back” :

L’action du bouton “Back” du Windows Phone est pris en charge par le système. Il permet de revenir automatiquement en arrière dans l’historique des pages visitées (= GoBack). Cependant, nous pouvons capturer l’évènement BackKeyPress d’une page pour spécifier un traitement spécifique lorsque l’utilisateur appuiera sur le bouton “Back” :

public Page1()
{

    InitializeComponent();  
    this.BackKeyPress += new EventHandlerCancelEventArgs>(Page1_BackKeyPress);  
}

void Page1_BackKeyPress(object sender, System.ComponentModel.CancelEventArgs e)

    e.Cancel = true; 
}

Pi-R.

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Publié jeudi 20 mai 2010 10:28 par Pi-R

Commentaires

jeudi 20 mai 2010 15:43 by FREMYCOMPANY

# re: Windows Phone 7 : Navigation inter-pages avec la propriete Page.NavigationService

intéressant à savoir

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- VMMap en mode instrumentation sur système 64bit : attention à la plateforme cible du build .NET par CoqBlog le il y a 1 heure et 50 minutes

- Etendre le Team Web Access de TFS 2012 – Step 0 par Philippe Didiergeorges Aka Philess le 05-23-2013, 23:48

- Simuler facilement l’envoi de mail par Blog de Jérémy Jeanson le 05-22-2013, 12:52

- ProcDump 6.0 : support du filtrage sur messages d'exceptions .NET, des filtres multiples et du ciblage par nom de service par CoqBlog le 05-20-2013, 14:50

- Votez pour le TOP 10 des influenceurs SharePoint francophones ! par Le blog de Patrick [MVP SharePoint] le 05-20-2013, 12:59

- [Conf’SharePoint] Dernier rappel ! :-) par Le blog de Patrick [MVP SharePoint] le 05-20-2013, 09:09

- [ #SharePoint 2013 ] les modèles de sites standards… par Le blog de Patrick [MVP SharePoint] le 05-20-2013, 09:03

- 10 erreurs de compréhension concernant SharePoint… par Le blog de Patrick [MVP SharePoint] le 05-20-2013, 08:27

- Conf’SharePoint : 10 bonnes raisons pour ne pas la rater par Le petit blog de Pierre / Pierre's little blog le 05-14-2013, 02:24

- [Event] Soirée de lancement Agile .NET France à Lyon par Blog Agile/ALM de Vincent THAVONEKHAM le 05-13-2013, 01:29