电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

解决ScrollViewer滚动问题的办法


发布日期:2021/1/8
 

C# 中两个ScrollViewer嵌套在一起或者ScrollViewer里面嵌套一个ListBoxListview(控件本身有scrollviewer)的时候我们本想要的效果是鼠标滚动整个ScrollViewer的内容但你会发现实际结果和你想像的不一样内部有scrollviewer的内容不会随鼠标的滚动而滚动怎么办呢?
解决办法如下
先截取外面的ScrollViewer的滚动事件然后再重新让外面的ScrollViewer触发滚动事件就可以了
假设有个控件一个是Listbox(内部名字是listbox)一个是ScrollViewer(外部)Listbox在ScrollViewer内部的并且ListBox的scroll滚动功能都禁用为Disabled只启用外部ScrollViewer的滚动功能这时添加如下代码则能使ListBox中的内容随ScrollViewer的鼠标滚动而滚动

listboxPreviewMouseWheel+=(sendere)
{
var eventArg = new MouseWheelEventArgs(eMouseDeviceeTimeDeviceeDelta);
eventArgRoutedEvent = UIElementMouseWheelEvent;
eventArgSource = sender;
thislistboxRaiseEvent(eventArg);
};

上一篇:全面解析Server对象

下一篇:三层+存储过程实现分页示例代码