博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决ScrollViewer嵌套的DataGrid、ListBox等控件的鼠标滚动事件无效
阅读量:5975 次
发布时间:2019-06-20

本文共 730 字,大约阅读时间需要 2 分钟。

C# 中,两个ScrollViewer嵌套在一起或者ScrollViewer里面嵌套一个DataGrid、ListBox、Listview(控件本身有scrollviewer)的时候,我们本想要的效果是鼠标滚动整个ScrollViewer的内容,但你会发现实际结果和你想像的不一样,内部有scrollviewer的内容不会随鼠标的滚动而滚动,怎么办呢?

解决办法如下:

先截取外面的ScrollViewer的滚动事件,然后再重新让外面的ScrollViewer触发滚动事件就可以了

假设有2个控件,一个是Listbox(内部名字是listbox),一个是ScrollViewer(外部),Listbox在ScrollViewer内部的,并且ListBox的scroll滚动功能都禁用为Disabled,只启用外部ScrollViewer的滚动功能,这时添加如下代码,则能使ListBox中的内容随ScrollViewer的鼠标滚动而滚动

listbox.PreviewMouseWheel+=(sender,e){  var eventArg = new MouseWheelEventArgs(e.MouseDevice,e.TimeDevice,e.Delta);  eventArg.RoutedEvent = UIElement.MouseWheelEvent;  eventArg.Source = sender;  var listbox = (Listbox) sender;  listbox.RaiseEvent(eventArg);};

 

转载于:https://www.cnblogs.com/lionwang/p/4569847.html

你可能感兴趣的文章
[导入]让你的WAP网站有更好的兼容性
查看>>
.NET Exceptionless 本地部署踩坑记录
查看>>
航电OJ-2544最短路
查看>>
CF772E Verifying Kingdom
查看>>
雨林木风U盘装系统综合教程
查看>>
V-by-one
查看>>
让我欲罢不能的node.js
查看>>
python3基础知识学习记录
查看>>
10年.NET老程序员推荐的7个开发类工具
查看>>
C#核心编程结构(2)
查看>>
rename设计思想(Perl版)
查看>>
第二次冲刺 第七天
查看>>
矩阵之矩阵乘法(转载)
查看>>
Python _内置函数3_45
查看>>
cf-Igor In the Museum (dfs)
查看>>
数据之路 Day4 - Python基础4
查看>>
使用openCV打开USB摄像头(UVC 小米micro接口)
查看>>
Luogu P3577 [POI2014]TUR-Tourism
查看>>
Scrapy框架的基本使用
查看>>
ActionResult,PartialViewResult,EmptyResult,ContentResult
查看>>