2010-10-19 3 views
1

Dans la page ADDPage.xaml, il y a un bouton Précédent avec le code NavigationService.GoBack() pour revenir à la page précédente.Wpf - NavigationService.GoBack() et Listbox SelectionChanged Event

Problème:

Dans la zone de liste SelectionChanged événement d'une autre page (SubPage.xaml) J'utilise le NavigationService.Navigate (nouveau AddPage (recherche));

Lorsque la page exécute la page NavigationService.GoBack() de la page ADDPage.xaml, le contrôle passe à l'événement ListChange SelectionChanged de SubPage.xaml et charge de nouveau la même page. Y a-t-il une meilleure solution pour cela?

Répondre

0

J'ai utilisé Delegate pour résoudre mon problème.

SubPage.xaml.cs

public delegate void RefreshHandle(string message); 

public partial class SubPage : PhoneApplicationPage 
{ 
    public static RefreshHandle RefreshCallback; 

    void Button_Click(object sender, EventArgs e) 
    { 
     string msg = "Test"; 
     RefreshCallback(msg); 
     NavigationService.GoBack(); 
    } 
} 

MainPage.xaml.cs

public partial class MainPage : PhoneApplicationPage 
{ 
    public MainPage() 
    { 
     SubPage.RefreshCallback += new RefreshHandle(RefreshFn); 
    } 
    void RefreshFn(string message) 
    { 
     MessageBox.Show(message); 
    } 
}