Phi*_*mid 6 wpf datagrid scroll
我试图同步 2 WPF DataGrid控件的水平滚动位置.
我正在订阅第一个DataGrid 的ScrollChanged事件:
<toolkit:DataGrid x:Name="SourceGrid" ScrollViewer.ScrollChanged="SourceGrid_ScrollChanged">
Run Code Online (Sandbox Code Playgroud)
我有第二个DataGrid:
<toolkit:DataGrid x:Name="TargetGrid">
Run Code Online (Sandbox Code Playgroud)
在我尝试使用的事件处理程序中IScrollInfo.SetHorizontalOffset,但是唉,DataGrid没有公开IScrollInfo:
private void SourceGrid_ScrollChanged(object sender, ScrollChangedEventArgs e)
{
((IScrollInfo)TargetGrid).SetHorizontalOffset(e.HorizontalOffset);
// cast to IScrollInfo fails
}
Run Code Online (Sandbox Code Playgroud)
还有另一种方法来实现这一目标吗?或者TargetGrid上是否有另一个元素暴露了IScrollInfo实现滚动位置同步所必需的元素?
顺便说一下,我使用的是冻结列,所以我不能用ScrollViewers包装两个DataGrid控件.
根据 Microsoft 产品组的说法,推荐的方法是遍历可视化树来查找 ScrollViewer,正如他们在 Codeplex 上的回答中所解释的那样。
| 归档时间: |
|
| 查看次数: |
13890 次 |
| 最近记录: |