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