2015-02-11 187 views
2

我在WPF中有一個上下文菜單,例如有40個菜單項。我將上下文菜單的高度限制爲「130」,以便一次只顯示五個項目。它完美地自動分配了滾動查看器,用戶可以使用它來滾動項目。同時,我需要捕獲ScrollChanged事件,以便我可以記住最後一個滾動位置並在以後分配它。在ScrollViewer中WPF上下文菜單自動滾動

沒有什麼我可以用這個目的

回答

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