就是这样!我试图过早地初始化它。
我在构造函数中做了它,当它被初始化时。
如果有人需要解决方案如何同步数据网格(无论是普通的DataGrid还是DevExpress GridControl或它们的混合)以在水平滚动并且有更多列时显示相同的数据,那么你可以显示然后这里是解决方案:
在您的构造函数中:
mainDataGrid.Loaded += (sender, args) =>
{
ScrollViewer sv = mainDataGrid.FindVisualTreeChild<ScrollViewer>();
if (sv != null)
sv.ScrollChanged += DataGridScrollChanged;
};
为 ScrollChanged 事件添加事件处理程序:
private void DataGridScrollChanged(object sender, ScrollChangedEventArgs e)
{
if (e.HorizontalChange == 0.0f)
return;
ScrollViewer sv = dependentDataGrid1.FindVisualTreeChild<ScrollViewer>();
if (sv != null)
sv.ScrollToHorizontalOffset(e.HorizontalOffset);
sv = dependentDataGrid2.FindVisualTreeChild<ScrollViewer>();
if (sv != null)
sv.ScrollToHorizontalOffset(e.HorizontalOffset);
}