解决ListBox拦截滚轮滚动事件

来源:互联网 发布:淘宝上电脑主机 编辑:程序博客网 时间:2024/06/05 19:16

问题:<ScrollViewer><ListBox Name="ListBox_Answers" /></ScrollViewer> 这个结构导致ListBox拦截了滚轮事件

解决:

xaml

<ScrollViewer>      <ListBox Name="ListBox_Answers" PreviewMouseWheel="ListBox_Answers_PreviewMouseWheel" >       </ListBox></ScrollViewer>

xaml.cs

private void ListBox_Answers_PreviewMouseWheel(object sender, MouseWheelEventArgs e)        {            if (!e.Handled)            {                e.Handled = true;                var eventArg = new MouseWheelEventArgs(e.MouseDevice, e.Timestamp, e.Delta);                eventArg.RoutedEvent = UIElement.MouseWheelEvent;                eventArg.Source = sender;                var parent = ((Control)sender).Parent as UIElement;                parent.RaiseEvent(eventArg);            }        }

总结:

拦截滚轮事件,new一个新事件,父控件RasizeEvent


Reference: http://stackoverflow.com/questions/1585462/bubbling-scroll-events-from-a-listview-to-its-parent

0 0
原创粉丝点击