C#Windows Phone 7 ListBox滚动上/下事件?

时间:2011-11-10 16:11:17

标签: c# windows-phone-7

我正在寻找一种方法来了解用户何时向上或向下滚动Windows Phone 7应用程序上的列表框。

我最接近的是:

    private double fDown = 0.6;

    private void buddyList_ManipulationCompleted(object sender, ManipulationCompletedEventArgs e)
    {
        var sView = e.ManipulationContainer as ScrollViewer;

        double lBox = 25 - fDown;

        double nBox = 25 - sView.VerticalOffset;

        if (nBox > lBox)
            MessageBox.Show("up!");
        else
            MessageBox.Show("down!");
    }

但是,这不能正常工作。我需要知道它在列表框底部的时间与滚动它的中间部分相比。

如果它位于列表框的底部,我想启用计时器以使其始终保持在底部。或者还有另一种方法可以将它始终保持在底部......?无论如何我能做到吗?

感谢。

3 个答案:

答案 0 :(得分:1)

您可以使用Windows Phone 7工具包中的LongListPicker。这些事件可用于滚动。见this guide here

答案 1 :(得分:1)

如果你查看了this question的答案,那么你应该找到实现这一点所需的一切(来自Matt Lacey的ScrollViewerMonitor的答案就是我使用的。)

答案 2 :(得分:1)

我和一位朋友谈过,他给了我这个答案(对任何看到未来的人):

        var sView = e.ManipulationContainer as ScrollViewer;

        double lBox = 25 - sView.ScrollableHeight;

        double nBox = 25 - sView.VerticalOffset;

        if (lBox < nBox)
            //Listbox Scrolled Up
        else
            //Listbox at Bottom

感谢。