WPF上下文菜单自动滚动



我在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"); 
}

类似的解决方案。

最新更新