Wpf - NavigationService.GoBack () и список ListChanged - PullRequest
1 голос
/ 19 октября 2010

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

Проблема:

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

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

1 Ответ

0 голосов
/ 07 мая 2011

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

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);
    }
}
...