Wpf - NavigationService.GoBack () и событие Listbox SelectionChanged

На странице ADDPage.xaml есть кнопка «Назад» с кодом NavigationService.GoBack () для возврата на предыдущую страницу.

Проблема:

В событии Listbox SelectionChanged другой страницы (SubPage.xaml) я использую NavigationService.Navigate (новый ADDPage (поиск));

Когда когда-либо страница выполняет NavigationService.GoBack () страницы ADDPage.xaml, элемент управления перемещается в событие Listbox SelectionChanged в SubPage.xaml и снова загружает ту же страницу. Есть ли лучшее решение для этого?


person Geeth    schedule 19.10.2010    source источник


Ответы (1)


Я использовал Delegate, чтобы исправить свою проблему.

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);
    }
}
person GMzo    schedule 07.05.2011