Windows phone 7 如何恢复已在WP7中打开的页面?

Windows phone 7 如何恢复已在WP7中打开的页面?,windows-phone-7,onresume,Windows Phone 7,Onresume,如何恢复已在WP7中打开的页面 例如:在P1中有两个按钮A和B,当我单击A时,它将带我到P2,当我返回P1并再次单击A时,它将不工作。但在我点击B之后,它进入P3,返回P1,点击A,它开始工作,但按钮B不起作用 我知道该页面的一个实例已经在后台运行。但不知道如何在再次单击按钮时恢复该页面 有人能帮忙做些什么吗?使用 NavigationService.Navigate(new Uri("/P2.xaml", UriKind.Relative)); 如果P2.xaml是您的P2页面,则要导航到P

如何恢复已在WP7中打开的页面

例如:在P1中有两个按钮A和B,当我单击A时,它将带我到P2,当我返回P1并再次单击A时,它将不工作。但在我点击B之后,它进入P3,返回P1,点击A,它开始工作,但按钮B不起作用

我知道该页面的一个实例已经在后台运行。但不知道如何在再次单击按钮时恢复该页面

有人能帮忙做些什么吗?

使用

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

如果P2.xaml是您的P2页面,则要导航到P2。

当您通过
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;
        }

“不工作”意味着您无法导航到该页面?并且这些“按钮”不在列表框中,对吗?实际上a和B是长列表选择器中的值,导航是在Selection_changed事件中完成的。我可以导航到该页面,但不能连续地背靠背。看到我发布的答案,我认为这将解决您的问题SelectionChanged even处理程序上有什么代码?嗨,我可以使用上述代码导航到页面,但问题不是这样。无论如何,谢谢你的回复!选择来自LongListSelector控件,我无法应用上述逻辑。您知道如何在LongListSelector控件中重置索引吗?您可以使用Jumplist导航到新页面吗?它应该用于“跳转”到列表中的项目。请告诉我,如果没有,我可以查看API。我没有使用类似跳转列表的任何东西。我只是在P1的LonglistSelector中选择值时导航到页面(P2)。我还在导航服务链接中传递P1中选择的值。我希望这是清楚的。我真的很感谢你的帮助!Thanks@Sri查看我的最新帖子。只是用LongListSelector试过了。(摘自工具箱示例)