以DataGrid为例,应先设置其横纵向的滚动条不可用
<DataGrid ScrollViewer.HorizontalScrollBarVisibility="Disabled"
ScrollViewer.VerticalScrollBarVisibility="Disabled" />
定义ScrollViewer的滚动事件
// scrollViewer的滚动事件
private void scrollViewer_PreviewMouseWheel(object sender, MouseWheelEventArgs e)
var eventArg = new MouseWheelEventArgs(e.MouseDevice, e.Timestamp, e.Delta);
eventArg.RoutedEvent = UIElement.MouseWheelEvent;
eventArg.Source = e.Source;
ScrollViewer scv = (ScrollViewer)sender;
scv.RaiseEvent(eventArg);
e.Handled = true;
滚动事件跳转
// datagrid的滚动事件
private void DataGrid_PreviewMouseWheel(object sender, MouseWheelEventArgs e)
// 直接跳转至上述scrollViewer的滚动事件
scrollViewer_PreviewMouseWheel(scrollViewer, e);
参考资料:
c# - Mouse scroll not working in a scroll viewer with a wpf datagrid and additional UI elements - Stack Overflow
本文主要介绍了WPF中常用的鼠标事件、键盘事件以及注意事项,同时使用一个案例讲解了拓展事件。除此之外,本文还讲述如何用行为(Behavior)来封装事件。
1:什么是路由事件
WPF中的事件为路由事件,所谓路由事件,MSDN定义如下:
功能定义:路由事件是一种可以针对元素树中的多个侦听器(而不是仅针对引发该事件的对象)调用处理程序的事件。
原文:WPF自定义TextBox及ScrollViewer
寒假过完,在家真心什么都做不了,可能年龄大了,再想以前那样能专心坐下来已经不行了。回来第一件事就是改了项目的一个bug,最近又新增了一个新的功能,为程序添加了一个消息栏。
原文:WPF 可触摸移动的ScrollViewer控件
ListBox支持触摸滑动,而ScrollViewer默认不支持。
ScrollViewer如需要添加上下/左右触摸移动,需要在Touch事件中处理。
原文:WPF 实现ScrollViewer的垂直偏移滚动跳转
问题:考虑屏幕大小,一般都是会在表单问卷的页面使用ScrollViewer。问卷中问题漏填漏选时,在提交时校验不过,需要滚动跳转至漏填漏选项。
原文:潜移默化学会WPF(难点控件treeview)--改造TreeView(CheckBox多选择版本),递归绑定数据
目前自己对treeview的感慨很多
今天先讲 面对这种 表结构的数据 的其中一种绑定方法,后面多几列其他属性都没关系,例如多个字段,
1 A 0
2 B 0
3 C 0
4 D 1
5 E 2
6 F 4
7 G 1
WPF中获取TreeView以及ListView获取其本身滚动条的方法,可实现自行调节scoll滚动的位置(可相应获取任何控件中的内部滚动条)
原文:WPF中获取TreeView以及ListView获取其本身滚动条的方法,可实现自行调节scoll滚动的位置(可相应获取任何控件中的内部滚动条)
对于TreeView而言:
TreeViewAutomationPeer lvap = new TreeViewAuto...
原文:WPF ScrollViewer(滚动条) 自定义样式表制作 (改良+美化)
注释直接写在代码里了 不太理解意思的 可以先去看看我上一篇 WPF ScrollViewer(滚动条) 自定义样式表制作 图文并茂
滚动条因为要在触摸屏上用 所以我设计的很宽 宽度可以自己改 把宽度变量...