У меня есть поле со списком, и при щелчке по элементу списка он переходит на страницу сведений. И когда я нажимал клавишу возврата на странице сведений, а после этого, если я снова щелкнул элемент списка продаж, он не переходит на страницу сведений. но если я щелкну другие элементы в списке, он перейдет на соответствующую страницу сведений.
На самом деле, я не перезагружаю окно списка на нажатой клавише «назад». Я просто выскакиваю его из заднего стека. Если я перезагружаю окно списка, проблемы не существует. Есть какое-то решение для этой проблемы. Ниже приведен мой код.
ListViewPage
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
if (DetailPage.isBackkeyPressed && list != null)
{
DetailPage.isBackkeyPressed = false;
}
else
{
ListDetails(); //Reloading the page if list is empty
}
base.OnNavigatedTo(e);
}
private void listBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (listBox.SelectedIndex >= 0)
{
(Application.Current as App).obj_list = list[listBox.SelectedIndex];
NavigationService.Navigate(new Uri("/DetailPage.xaml", UriKind.Relative)); //Navigate to detail page
}
}
DetailPage
protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
isBackkeyPressed = true;//flag for check if back key is pressed
base.OnBackKeyPress(e);
}