记住LongListSelector的位置

时间:2011-05-04 02:22:53

标签: windows-phone-7 silverlight-toolkit

我正在开发一个Windows Phone 7(WP7)应用程序,我正在使用LongListSelector控件列表。当用户点击其中一个项目时,我的事件处理程序将导航到所选项目的新页面。但是,当用户单击后退按钮返回到previuos页面时,LongListSelector位于与其不同的位置。有没有人知道如何记住选择器的位置并在返回时恢复该位置?

1 个答案:

答案 0 :(得分:1)

当您处理SelectionChanged事件时,您可以将SelectedItem(我假设您已经检索以确定新页面)保存到页面属性。然后在页面的OnNavigatedTo事件中,如果该项不为null,则可以使用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);
}