2011-11-10 87 views
2

我正在寻找一种方法来知道用户何时在Windows Phone 7应用程序上滚动或下滚列表框。C#Windows Phone 7 ListBox滚动向上/向下事件?

我能来最接近的是:

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!"); 
    } 

然而,这并不正常工作。我需要知道它在列表框的底部,而不是滚动到列表框的中间。

当它位于列表框的底部时,我想启用一个定时器来不断地将其保持在最低点。还是有另一种方法可以使其始终保持在最低点......?无论如何,我可以做到这一点?

谢谢。

回答

1

我跟一个朋友,他给了我这个作为一个答案(任何人谁在futue看起来):

 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 

感谢。

1

您可以使用windows phone 7工具包中的LongListPicker。这些事件可用于滚动。请参阅this guide here