C# ScrollViewer与listview滑动冲突

记录一次ScrollViewer与listview嵌套滑动冲突解决方法

我的需求是listview自适应不可滑动,外层ScrollViewer可滑动

1.需要先保证ScrollViewer能滑动,里面先不嵌套listveiw,随便写个布局设置超长高度,确保能滑动,如果不能请问度娘

2.嵌套listview后listview部分不能滑动?主要因为listview内部有scrollview,消耗了滑动事件,需要做的就是不让listvie获取滑动事件

private void ListView_PreviewMouseWheel(object sender, MouseWheelEventArgs e) { if (!e.Handled) { // ListView拦截鼠标滚轮事件 e.Handled = true; // 激发一个鼠标滚轮事件,冒泡给外层ListView接收到 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); } }

在listview上加入 PreviewMouseWheel="ListView_PreviewMouseWheel"
 

完成医上步骤后,我的问题解决,特此记录

你可能感兴趣的:(c#,开发语言)