Я пытаюсь синхронизировать горизонтальную позицию прокрутки двух элементов управления WPF DataGrid.
Я подписываюсь на событие ScrollChanged первого DataGrid:
<toolkit:DataGrid x:Name="SourceGrid" ScrollViewer.ScrollChanged="SourceGrid_ScrollChanged">
У меня есть второй DataGrid:
<toolkit:DataGrid x:Name="TargetGrid">
В обработчике событий я пытался использовать IScrollInfo.SetHorizontalOffset
, но, увы, DataGrid не предоставляет IScrollInfo
:
private void SourceGrid_ScrollChanged(object sender, ScrollChangedEventArgs e)
{
((IScrollInfo)TargetGrid).SetHorizontalOffset(e.HorizontalOffset);
// cast to IScrollInfo fails
}
Есть ли другой способ добиться этого? Или есть еще один элемент в TargetGrid, который предоставляет необходимое IScrollInfo
для достижения синхронизации позиций прокрутки?
Кстати, я использую замороженные столбцы, поэтому я не могу обернуть оба элемента управления DataGrid с помощью ScrollViewers.