none
关于richtextbox下拉和上拉的效果 RRS feed

  • 问题

  • 请问QQ里面一对一聊天,拉到顶端后,继续向上滚动鼠标滚轮,自动加载历史记录的效果是如何实现的呢?

    找了很多资料都没有结果。感觉和普通的scrollviewer不太像,拉到最上面后,再滚动鼠标滚轮,会继续往上移动一段空白区域。

    就像手机触屏上下拉动一样。手机微博也是这样做的,下拉刷新。windows中只有鼠标,就换成鼠标中键滚动来实现

    2016年5月7日 9:49

答案

  • 您好 wpf萌新,

    我先给你说说实现的原理,最后再贴一个示例链接给你,供你参考。

    >>"请问QQ里面一对一聊天,拉到顶端后,继续向上滚动鼠标滚轮,自动加载历史记录的效果是如何实现的呢?"

    聊天的窗口可以看作是一个集合控件,里面包含着一系列聊天信息的组合。我们可以监听滚动条移动事件,并计算滚动条是否被用户拉到了顶端。如果已经被拉到了顶端,则判断是否有历史聊天信息可供显示,如果有则更新数据源。让当前窗口显示更多的聊天的信息。

    以下示例链接供你参考。

    ScrollViewer滚动到底来触发加载数据的Behavior

    Best Regards,
    Li Wang


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 wpf萌新 2016年5月11日 5:04
    2016年5月8日 7:28

全部回复

  • 您好 wpf萌新,

    我先给你说说实现的原理,最后再贴一个示例链接给你,供你参考。

    >>"请问QQ里面一对一聊天,拉到顶端后,继续向上滚动鼠标滚轮,自动加载历史记录的效果是如何实现的呢?"

    聊天的窗口可以看作是一个集合控件,里面包含着一系列聊天信息的组合。我们可以监听滚动条移动事件,并计算滚动条是否被用户拉到了顶端。如果已经被拉到了顶端,则判断是否有历史聊天信息可供显示,如果有则更新数据源。让当前窗口显示更多的聊天的信息。

    以下示例链接供你参考。

    ScrollViewer滚动到底来触发加载数据的Behavior

    Best Regards,
    Li Wang


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 wpf萌新 2016年5月11日 5:04
    2016年5月8日 7:28
  • 谢谢,我立刻看看
    2016年5月9日 1:25
  • 嗨,王,这种办法跟直接添加scorllchange事件有什么区别呢,在事件处理函数中判断verticaloffset。

    scrollchange有没有办法每次鼠标滚动都响应呢,即使在顶端或者底端

    2016年5月9日 5:57
  • 您好 wpf萌新,

    >>"王,这种办法跟直接添加scorllchange事件有什么区别呢,在事件处理函数中判断verticaloffset。"

    原理上是一样的。如果要这么做,必须在每次事件里都判断现在的点有没有到达最顶端或者最低端。如果到达了, scorllchange事件就不会再触发了。所以我们必须在快到达最顶端或最低端之前再多加载一些数据,让滚动条变的长一点,这样我们就可以继续使用滚动条了。

    Best Regards,
    Li Wang


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2016年5月11日 2:54