C# WPF-如何将onScroll事件添加到ListBox并访问ScrollViewer

C# WPF-如何将onScroll事件添加到ListBox并访问ScrollViewer,c#,wpf,listbox,scrollview,C#,Wpf,Listbox,Scrollview,我在XAML中这样定义我的列表框: <ListBox Name="myListBox" HorizontalContentAlignment="Stretch" ScrollViewer.HorizontalScrollBarVisibility="Hidden" ScrollViewer.ScrollChanged="OnScrollChanged" <- I want to create onScrollChanged

我在XAML中这样定义我的列表框:

<ListBox Name="myListBox" 
         HorizontalContentAlignment="Stretch" 
         ScrollViewer.HorizontalScrollBarVisibility="Hidden" 
         ScrollViewer.ScrollChanged="OnScrollChanged" <- I want to create onScrollChanged event
         Grid.Row="0">
         ...
</ListBox>
我试图检测用户何时滚动到列表框的最底部。但我得到一个错误,列表框不能被转换到Scrollviewer。如何获取scrollviewer


谢谢

在XAML中的
列表框
周围添加一个
滚动查看器
,然后从那里订阅活动

<ScrollViewer ScrollChanged="OnScrollChanged">
    <ListBox Name="myListBox" 
             HorizontalContentAlignment="Stretch"
             ScrollViewer.HorizontalScrollBarVisibility="Hidden"
             Grid.Row="0" />
</ScrollViewer>

背后的代码可以保持不变


在您当前的代码中,您试图将您的
列表框
(“发件人”)转换为
ScrollViewer
,但它无法执行此操作,因此会引发异常。

谢谢您的批准,但在这种情况下,ScrollViewer将始终显示,即使列表框为空,它也会显示“到此结束”消息,这是我不想要的。我用数据动态加载这个列表,所以如果ListBox为空,则不会显示任何消息,只有在加载数据并将用户滚动到底部时才会显示。然后我将加载更多的数据,这就是为什么我需要检测我的列表框的滚动条何时被滚动到末尾的原因。就是这样。只需使用myListBox.Items.Count()而不是Any()。谢谢格兰特,X弥撒快乐
<ScrollViewer ScrollChanged="OnScrollChanged">
    <ListBox Name="myListBox" 
             HorizontalContentAlignment="Stretch"
             ScrollViewer.HorizontalScrollBarVisibility="Hidden"
             Grid.Row="0" />
</ScrollViewer>