我在WPF中有一个上下文菜单,比如说有40个菜单项。我将上下文菜单的高度限制为"130",这样一次只显示五个项目。它完美地自动分配了滚动查看器,用户可以使用它来滚动项目。同时,我需要捕捉ScrollChanged事件,这样我就可以记住最后一个滚动位置,并在以后分配它。中的滚动查看器
没有任何我可以用于此目的的东西
您可以检查垂直偏移。VerticalOffset属性介于0和ScrollableHeight之间。点击此处了解更多信息。
private void OnScrollChanged(object sender, ScrollChangedEventArgs e)
{
var scrollViewer = (ScrollViewer)sender;
if (scrollViewer.VerticalOffset == 0)
MessageBox.Show("This is the start.");
else if (scrollViewer.VerticalOffset == scrollViewer.ScrollableHeight)
MessageBox.Show("This is the end");
}
类似的解决方案。