问题:
如果我的 DataGrid
并非完全可见(水平和垂直滚动条均显示),并且我点击一个部分可见的单元格,则该网格会自动滚动以使该单元格可见。我不想让这种情况发生。我尝试过使用 RequestBringIntoView
进行调整,例如:
private void DataGrid_RequestBringIntoView(object sender, RequestBringIntoViewEventArgs e)
{
e.Handled = true;
}
但是那什么也没做。
我尝试过的事情:
- 我的单元格是自定义的
UserControls
;我尝试在构成我的单元格的所有UserControls
上放置一个RequestBringIntoView
事件处理程序,并尝试处理该事件,可能我不仅仅是在DataGrid
上处理RequestBringIntoView
没有做到足够。这并没有起作用。 - 将
DataGrid
放在ScrollViewer
中,并处理ScrollViewer
的RequestBringIntoView
事件。这实际上可以停止自动滚动行为,但在我的情况下,将DataGrid
放在ScrollViewer
中根本不可取,因此我需要想出其他解决方案。
我不确定如何停止这种行为,有什么想法吗?