2017-09-28 15 views
0

Je veux naviguer vers une autre page lorsqu'un utilisateur sélectionne une option dans une fenêtre de dialogue WPF. De page1, je pop la fenêtre avec ce code via un bouton clic événementComment naviguer d'une fenêtre de dialogue pop-up à une autre page dans wpf je n'utilise pas MVVM

private void newCust_Click(object sender, RoutedEventArgs e) 
    { 
     bvnQuery bv = new bvnQuery(); 
     bool? val = bv.ShowDialog(); 

     if (val.HasValue && val.Value) 
     { 
      NavigationService.Navigate("page3.xaml", UriKind.Relative); 
     } 
    } 

puis sur la fenêtre de dialogue, j'ai choisi un choix Oui/Non (bouton), quand je suis retourné la valeur à la fonction appelante, Je reçois une page vierge lorsque je navigue vers la page dans l'URI ci-dessus. Comment est-ce que je travaille autour de ceci?

+0

Êtes-vous à l'aide NavigationService ? – AGrammerPro

+0

oui, j'utilise ce NavigationService.Navigate ("page3.xaml", UriKind.Relative); mais il ne navigue pas vers la page –

+0

Essayez d'ajouter le service de navigation à votre méthode de clic sur un bouton? – AGrammerPro

Répondre

0

Vous devez définir la propriété DialogResult de votre fenêtre bvnQuery dans votre « Oui/Non » gestionnaire:

private void Button_Click(object sender, RoutedEventArgs e) 
{ 
    this.DialogResult = true; 
} 

Cette valeur sera retournée par la méthode ShowDialog():

private void Button_Click(object sender, RoutedEventArgs e) 
{ 
    bvnQuery bv = new bvnQuery(); 
    bool? val = bv.ShowDialog(); 

    if (val.HasValue && val.Value) 
    { 
     //... 
    } 
} 
+0

il ne navigue pas à la page requise quand je fais cela NavigationService.Navigate ("page3.xaml", UriKind.Relative); dans le bloc if. val retourne vrai –

+0

J'ai mis à jour ma question avec les mises à jour de l'échantillon de code que vous avez fourni. Merci –

+0

Mon mauvais. Je suis désolé pour la confusion. vous avez raison je devais faire ce NavigationService.Navigate (nouvel Uri ("page3.xaml", UriKind.Relative)) ;. Merci –