【发布时间】:2011-08-31 14:48:54
【问题描述】:
我有一个列表框,当单击列表项时,它会转到其详细信息页面。当我从详细信息页面按后退键时,如果我再次单击销售列表项,则不会导航到详细信息页面但如果我单击列表中的其他项目,它会导航到相应的详细信息页面。 实际上我没有在按下后退键时重新加载列表框。我只是从后面的堆栈中弹出它。如果我重新加载列表框,问题就不存在了。这个问题有没有解决方案。下面是我的代码。
列表视图页面
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
}
}
详细页面
protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
isBackkeyPressed = true;//flag for check if back key is pressed
base.OnBackKeyPress(e);
}
【问题讨论】:
标签: c# windows-phone-7