Как возобновить страницу, которая уже открыта в WP7? - PullRequest
0 голосов
/ 13 сентября 2011

Как возобновить страницу, которая уже открыта в WP7?

Например: в P1 есть две кнопки A и B, когда я нажимаю A, он переводит меня в P2 и когда я возвращаюсь в P1и снова нажмите А, это не работает.Но после того, как я нажимаю B, который переходит к P3, возвращаюсь к P1 и нажимаю A, он работает, а кнопка B - нет.

Я понимаю, что экземпляр этой страницы уже работает в фоновом режиме.Но не знаете, как возобновить эту страницу при повторном нажатии кнопки.

Может кто-нибудь помочь с тем, что должно быть сделано здесь?

Ответы [ 2 ]

1 голос
/ 13 сентября 2011

При навигации по SelectionChanged необходимо сбросить SelectedIndex:

public void SelectionChanged(object sender, SelectionChangedEventArgs e){

    var lb = (ListBox) sender;

    if (lb.SelectedIndex == -1) return;

    //do your logic here
    NavigationService.Navigate(///);

    //reset selected index
    lb.SelectedIndex = -1;

}

Редактировать: SelectedIndex недоступно в LongListSelector.Вместо этого используйте SelectedItem.

void PersonSelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (buddies.SelectedItem == null) return;
            Person person = buddies.SelectedItem as Person;
            if (person != null)
            {
                NavigationService.Navigate(new Uri("/Samples/PersonDetail.xaml?ID=" + person.ID, UriKind.Relative));
            }

            buddies.SelectedItem = null;
        }
0 голосов
/ 13 сентября 2011

Используйте

NavigationService.Navigate(new Uri("/P2.xaml", UriKind.Relative));

для перехода к P2, если P2.xaml - это ваша страница P2.

...