当用户使用后退按钮导航到ListView时,我想自动滚动到ListView的顶部。我试着用这个:
scrollViewer.ScrollToVerticalOffset(0.0);
它有效,但VS说:
ScrollToVerticalOffset可能会被更改或不可用于发布 在Windows 8.1之后。相反,请使用ChangeView。
好的,我认为这没问题,我会使用ChangeView而不是这个。但ChangeView无法正常工作。至少在我的情况下。我试过这个:
scrollViewer.ChangeView(null, 0d, null);
当我从一个按钮调用它时它起作用,但当我把它放到OnNavigatedTo方法时它没有做任何事情。
那它为什么有用呢?
答案 0 :(得分:1)
如果你看一下at MSDN description od OnNavigatedTo,你会看到在加载可视树之前调用它。因此,如果您想操纵UI元素 - 请在Loaded事件中执行:
您无法使用OnNavigatedTo进行元素操作或目标页面上控件的状态更改。相反,在新加载的页面内容的根目录附加一个Loaded事件处理程序,并在Loaded事件处理程序中执行任何元素操作,状态更改,事件连接等。