如何检测N个列表的列表框末尾的滚动?

问题描述 投票:3回答:2

我发现创建此的this approach by slimcode

public static readonly DependencyProperty ListVerticalOffsetProperty = DependencyProperty.Register(
  "ListVerticalOffset",
  typeof( double ),
  typeof( SearchBusinessResultsPage ),
  new PropertyMetadata( new PropertyChangedCallback( OnListVerticalOffsetChanged ) ) );

public double ListVerticalOffset
{
  get { return ( double )this.GetValue( ListVerticalOffsetProperty ); }
  set { this.SetValue( ListVerticalOffsetProperty, value ); }
}

private static void OnListVerticalOffsetChanged( DependencyObject obj, DependencyPropertyChangedEventArgs e )
{
    // ...
}

它创建单个readonly属性和单个静态方法来处理它。但是我想让N个列表在滚动结束时处理一个事件。

我不知道如何使用此代码来处理不同的列表...

有更好的方法吗?以及如何将相同的东西用于不同的列表?

c# windows-phone-7 listbox scroll
2个回答
0
投票
您可以创建一个从ListBox继承的BusinessListBox类,并按照上述示例定义其样式和模板。然后,您可以扩展DependencyProperty更改处理程序以具有实例更改处理程序方法。

0
投票
您需要做的就是添加一个用于ScrollChangedEvent检测的处理程序,并使用VerticalOffset属性来查找滚动是否已到达滚动的结尾。
© www.soinside.com 2019 - 2024. All rights reserved.