我在WPF中有一个上下文菜单,例如40个菜单项。我将上下文菜单的高度限制为,例如" 130"这样一次只能出现五个项目。它完美地自动分配了滚动查看器,用户可以使用它来滚动项目。与此同时,我需要捕获ScrollChanged事件,以便我能记住最后一个滚动位置并在以后分配它。
中的ScrollViewer
没有我可以用于此目的的任何东西
答案 0 :(得分:0)
您可以查看VerticalOffset。 VerticalOffset属性介于0和ScrollableHeight之间。阅读更多相关信息here。
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");
}
类似的解决方案here。