Windows phone 7 记住长列表选择器的位置

Windows phone 7 记住长列表选择器的位置,windows-phone-7,silverlight-toolkit,Windows Phone 7,Silverlight Toolkit,我正在开发一个WindowsPhone7(WP7)应用程序,我正在使用一个LongListSelector控件来创建一个列表。当用户点击其中一个项目时,“我的事件处理程序”将导航到所选项目的新页面。但是,当用户单击“上一步”按钮返回到Previous页面时,LongListSelector的位置与以前不同。有人知道如何记住选择器的位置并在其返回时恢复该位置吗?当处理SelectionChanged事件时,您可以将SelectedItem保存到页面属性中(我假设您已经在检索该属性以确定新页面)。然

我正在开发一个WindowsPhone7(WP7)应用程序,我正在使用一个LongListSelector控件来创建一个列表。当用户点击其中一个项目时,“我的事件处理程序”将导航到所选项目的新页面。但是,当用户单击“上一步”按钮返回到Previous页面时,LongListSelector的位置与以前不同。有人知道如何记住选择器的位置并在其返回时恢复该位置吗?

当处理
SelectionChanged
事件时,您可以将
SelectedItem
保存到页面属性中(我假设您已经在检索该属性以确定新页面)。然后在页面的
OnNavigatedTo
事件中,如果该项不为空,则可以使用
ScrollTo
方法。类似这样的内容(其中,
lls
是您的longlistselector):

private object previousItem = null;
private void lls_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    object previousItem = lls.SelectedItem;
    //Page Navigation Magic
}

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
    base.OnNavigatedTo(e);

    if (previousItem != null)
        lls.ScrollTo(previousItem);
}