WPF上下文菜单自动滚动

时间:2015-02-11 18:54:03

标签: c# wpf contextmenu scrollviewer

我在WPF中有一个上下文菜单,例如40个菜单项。我将上下文菜单的高度限制为,例如" 130"这样一次只能出现五个项目。它完美地自动分配了滚动查看器,用户可以使用它来滚动项目。与此同时,我需要捕获ScrollChanged事件,以便我能记住最后一个滚动位置并在以后分配它。

中的ScrollViewer

没有我可以用于此目的的任何东西

1 个答案:

答案 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