2009-02-12 2 views
1

Je suis nouveau à Silverlight et de ce que j'ai compris il n'y a pas de fonctionnalité directe en ce qui concerne la pagination, donc j'ai téléchargé le projet hélice de here. Je l'ai trouvé plutôt utile mais j'ai échoué à trouver un moyen (en utilisant helix) pour naviguer dans les pages à travers le code-behind. La raison pour laquelle j'ai besoin de cela est que je veux naviguer vers une autre page si une méthode est exécutée avec succès.Silverlight hélice code-behind navigation de page

+0

ce n'est pas une question – MedicineMan

+0

Eh bien, il n'a pas été formulé sous la forme d'une question. La question était "comment puis-je naviguer entre les pages en hélice à travers le code derrière?". Il y a même une réponse que j'ai acceptée ci-dessous. – Drahcir

Répondre

2

En cas onLoaded de RootPage.xaml.cs vous pouvez voir le code suivant:

this.rootFrame.Navigate(new Uri("Page1.xaml", UriKind.Relative)); 

Ce à Page1.xaml navigue programatically (qui met en œuvre NavigationPage) lorsque les charges de Rootpage en appelant la méthode Navigate une instance du contrôle de la trame dans RootPage.xaml:

<h:Frame x:Name="rootFrame" Grid.Row="0" Grid.Column="1" 
     NavigationUIVisibility="Visible" Margin="4" /> 

Cette méthode Naviguer à son tour appelle la méthode Navigate encapsulé l'instance StackJournal du cadre. Si vous êtes dans le code derrière une page qui n'a pas directement accès au cadre parent (c'est-à-dire une page autre que RootPage) comme Page1.xaml, vous devez déclencher un événement RequestNavigate le cadre parent le plus proche.

Le code suivant montre comment naviguer à partir d'un bouton programatically cliquez sur Page1.xaml directement Page3.xaml:

private void TestButton_Click(object sender, RoutedEventArgs e) 
{ 
    this.RaiseEvent(NavigationLink.RequestNavigateEvent, 
     new RequestNavigateEventArgs(new Uri("Page3.xaml", UriKind.Relative), 
     "rootFrame")); 
} 

Avis TargetName est « rootFrame », l'objet Frame parent qui effectue éventuellement la navigation .

+0

A fonctionné parfaitement, merci. – Drahcir