WP 8.1滚动到ListView的顶部

时间:2015-01-24 13:42:56

标签: c# xaml listview windows-phone-8.1 scrollviewer

当用户使用后退按钮导航到ListView时,我想自动滚动到ListView的顶部。我试着用这个:

scrollViewer.ScrollToVerticalOffset(0.0);

它有效,但VS说:

  

ScrollToVerticalOffset可能会被更改或不可用于发布   在Windows 8.1之后。相反,请使用ChangeView。

好的,我认为这没问题,我会使用ChangeView而不是这个。但ChangeView无法正常工作。至少在我的情况下。我试过这个:

scrollViewer.ChangeView(null, 0d, null);

当我从一个按钮调用它时它起作用,但当我把它放到OnNavigatedTo方法时它没有做任何事情。
那它为什么有用呢?

1 个答案:

答案 0 :(得分:1)

如果你看一下at MSDN description od OnNavigatedTo,你会看到在加载可视树之前调用它。因此,如果您想操纵UI元素 - 请在Loaded事件中执行:

  

您无法使用OnNavigatedTo进行元素操作或目标页面上控件的状态更改。相反,在新加载的页面内容的根目录附加一个Loaded事件处理程序,并在Loaded事件处理程序中执行任何元素操作,状态更改,事件连接等。