gpt4 book ai didi

c# - 如何检测 N 列表列表框末尾的滚动?

转载 作者:行者123 更新时间:2023-11-30 18:40:23 25 4
gpt4 key购买 nike

我找到了 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 个列表在滚动结束时处理一个事件。

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

有更好的方法吗?我怎样才能对不同的列表使用相同的东西?

最佳答案

您可以创建一个继承自 ListBox 的 BusinessListBox 类,并按照上述示例定义其样式和模板。然后,您可以扩展 DependencyProperty 更改处理程序以拥有实例更改处理程序方法。

private static void OnListVerticalOffsetChanged(
DependencyObject d, DependencyPropertyChangedEventArgs e)
{
var target = (BusinessListBox)d;
double oldListVerticalOffset = (double)e.OldValue;
double newListVerticalOffset = target.ListVerticalOffset;
target.OnListVerticalOffsetChanged(oldListVerticalOffset, newListVerticalOffset);
}

private void OnListVerticalOffsetChanged(
double oldListVerticalOffset, double newListVerticalOffset)
{
}

理想情况下,您只需实现一个 Behavior 或附加属性,让您可以在常规 ListBox 上执行相同的操作。

关于c# - 如何检测 N 列表列表框末尾的滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8356806/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com