datagrid滚动条与外面的滚动条联动问题
当前遇到一个大难题,在datagrid外建了一个panel,通过panel的滚动条控制datagrid的滚动条,这个功能已基本实现,但是貌似是一种伪联动,实现代码如下
if (e.ScrollOrientation == ScrollOrientation.HorizontalScroll)
{
datagrid_Monitor.HorizontalScrollingOffset = e.NewValue;
panel1.HorizontalScroll.Value = e.NewValue;
}
滚动是能滚了,一旦在拖动滚动条后点后面header标题,立刻就跳回第一列,研究了很久发现问题关键点:
1、datagrid_Monitor的ScrollBars设置Horizontal,即将水平的滚动条隐掉,这时才会出现上述现象。当ScrollBars设置为Both时,水平滚动条会跟panel滚动条联动,点击datagrid标题不会有任何问题
2、貌似拖动滚动条后点后面header标题,触发了datagrid本身的ScrollBar的内部Scroll事件,导致用任何办法(rowindex,currentCell)也不能回到当前位置,很是痛苦。
请各位高人指点!!