【问题标题】:WP 8.1 Scroll to the top of the ListViewWP 8.1 滚动到 ListView 的顶部
【发布时间】:2015-01-24 13:42:55
【问题描述】:

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

scrollViewer.ScrollToVerticalOffset(0.0);

它有效,但 VS 说:

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

好吧,我以为没问题,我会用ChangeView来代替这个。但是 ChangeView 不能正常工作。至少在我的情况下。我试过这个:

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

当我从按钮调用它时它可以工作,但是当我把它放到 OnNavigatedTo 方法时它什么也没做。
那么它为什么会起作用呢?

【问题讨论】:

  • 您是否尝试将其放入 OnLoaded 事件中?
  • 我把它放到 ListView Loaded 事件中,并在 OnNavigatedTo 方法中设置了一些条件……是的,它完美地工作!谢谢! :)

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2011-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-24
    • 1970-01-01
    相关资源
    最近更新 更多