2014-09-28 2 views
0

Я пишу приложение WP8. На главной странице У меня есть longlistselector, если я нажимаю элемент и перехожу на другую страницу, когда я нажимаю кнопку «Назад» со второй страницы и возвращаюсь на главную страницу, если я нажимаю тот же элемент снова, ничего не происходит, но если я коснитесь другого элемента, который он работает так, как должен. _Here это ода для функции слушателя ДЛИLongListSelector выбранный пункт проблема navigating back

private void MessageList_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
    if (MessageList.SelectedItem == null) 
    { 
     return; 
    } 

    Contact c = (Contact)MessageList.SelectedItem; 

    long id = c.ID; 

    NavigationService.Navigate(new Uri("/ChatPage.xaml?ID=" + id.ToString(), UriKind.Relative)); 

    MessageList.SelectedItem = null; 
} 

Как вы можете видеть, что я уже сброшен выбранный элемент, но ДЛИ ведет себя так же, как

надеюсь, что вы можете помочь меня, спасибо в совет!

+0

Я думаю, ваша проблема в том, что вы установили 'SelectedItem' обнулить. возврат списка, вероятно, предполагает, что вы не нажали на что-то новое и не задали 'SelectedItem' для щелкнутого элемента. Не пытайтесь установить его на «null». –

+0

Я добавил .SelectedItem = null; чтобы попытаться решить эту проблему, но это не помогло мне ... Это ведет себя так же, если я прокомментирую эту строку – giofx

ответ

0

Попробуйте его обработки в OnNavigatedTo случае

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    base.OnNavigatedTo(e); 
    MessageList.SelectedItem = null; 
} 

Тогда ваш SelectionChanged получает изменено на:

private void MessageList_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
    if (MessageList.SelectedItem == null) 
    { 
     return; 
    } 
    Contact c = (Contact)MessageList.SelectedItem; 
    long id = c.ID; 
    NavigationService.Navigate(new Uri("/ChatPage.xaml?ID=" + id.ToString(), UriKind.Relative)); 
}