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