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

- Kinect 1.5 is out ! par Cyril Sansus le il y a 23 heures et 15 minutes

- Les actualités de la semaine sur c2i.fr (14 mai - 20 mai) par Richard Clark le 05-21-2012, 08:50

- Reactive Extensions : Consommer des services avec Rx Partie 3, les pièges à éviter par Léonard Labat le 05-20-2012, 23:45

- SharePoint Blog Site, problème d’archives par Le Blog (Vert) d'Arnaud JUND le 05-20-2012, 13:09

- Soirée ALT.NET Mai - 3 présentations par #Rui le 05-18-2012, 11:59

- [ #SharePoint 2010][ #SQLServer 2012] AlwaysOn pour SharePoint (2/4) : Configuration (2e partie)… par Le blog de Patrick [MVP SharePoint] le 05-18-2012, 11:31

- Team Foundation Server 11: tous les trésors cachés du site d’équipe par Philess le 05-16-2012, 19:01

- [PowerShell 3] Télécharger et installer la documentation en ligne par Blog de SPBrouillet (Pierrick BROUILLET) le 05-16-2012, 17:36

- [#SharePoint 2010][#SQLServer 2012] AlwaysOn pour SharePoint (1/4) : Configuration (1ère partie)… par Le blog de Patrick [MVP SharePoint] le 05-16-2012, 12:10

- Job Day @MIC Brussels - .Net Developers on Mobile applications par Le Blog (Vert) d'Arnaud JUND le 05-15-2012, 20:26