【问题标题】:how to detect VerticalOffset's changes? [duplicate]如何检测 VerticalOffset 的变化? [复制]
【发布时间】:2013-11-18 01:32:02
【问题描述】:

我正在使用ScrollViewer 并想知道VerticalOffset 的值何时发生变化。找不到活动。我可以检测到吗?

<ScrollViewer Name="scrollViewer">

</ScrollViewer>

【问题讨论】:

  • 你尝试ScrollChanged事件了吗?
  • 请参考这个堆栈溢出问题。 stackoverflow.com/questions/14448643/…。我想这会对你有所帮助。
  • 您是否尝试实施拉动刷新?你见过thisthis 可能会有所帮助。 Telerik 有一个good solution
  • 嗨@ShawnKendrot,我希望能引起你的注意:) 我看到了这两个例子,都是为了在底部获取更多旧数据。我需要顶部的新数据。此外,辐射控制是付费的,我买不到。我自己不能实现吗?谢谢。
  • 第一个例子是“拉动刷新”,第二个做底部,但可以修改为在顶部工作。第二个使用 WP8 的新 LLS,所以如果你不是针对 WP7,我建议

标签: c# xaml windows-phone-7 windows-phone-8 windows-phone


【解决方案1】:

不知道您实际上想做什么,但我在诺基亚开发者网站上写了一篇文章,允许您跟踪滚动查看器的垂直偏移并操纵另一个 UI 元素。 我想它包含您的问题所需的所有信息?

看这里http://developer.nokia.com/Community/Wiki/How_to_keep_a_UI_element_in_view_when_scrolling_a_page_in_Windows_Phone

你不能忘记两个重要的部分,首先在滚动查看器中将属性 ManipulationMode 设置为 Control

ManipulationMode="Control"

其次要获取垂直偏移量,您需要在 ScrollViewer 中搜索 VerticalScrollBar,如下所示:

_vBar = ((FrameworkElement)VisualTreeHelper.GetChild(ScrollViewer, 0)).FindName("VerticalScrollBar") as ScrollBar;
_vBar.ValueChanged += _vBar_ValueChangedHandler;

【讨论】:

    猜你喜欢
    • 2012-05-08
    • 1970-01-01
    • 2011-08-27
    • 2017-06-12
    • 2017-12-06
    • 2018-06-23
    • 2015-08-08
    • 2017-02-27
    • 1970-01-01
    相关资源
    最近更新 更多