【发布时间】:2017-05-31 21:02:25
【问题描述】:
如何链接 2 个 Listview 组件,以使它们的滚动同步(当我滚动一个时,另一个也同时滚动)?
所以基本上我需要一种方法:
1) 监听Listview1的滚动事件 2) 给Listview2设置相同的滚动偏移量
我在 Stackoverflow 上找到了一些示例,但它们要么是指 WPF,要么是 WinRT,并且它们与我的应用程序不兼容。
谢谢!
【问题讨论】:
标签: c# xaml uwp windows-10
如何链接 2 个 Listview 组件,以使它们的滚动同步(当我滚动一个时,另一个也同时滚动)?
所以基本上我需要一种方法:
1) 监听Listview1的滚动事件 2) 给Listview2设置相同的滚动偏移量
我在 Stackoverflow 上找到了一些示例,但它们要么是指 WPF,要么是 WinRT,并且它们与我的应用程序不兼容。
谢谢!
【问题讨论】:
标签: c# xaml uwp windows-10
您在问题中描述的内容可以通过以下步骤完成:
ListView 中找到ScrollViewer(从this answer 签出GetScrollViewer)。ViewChanged 活动。ScrollViewer 上调用 ChangeView。假设您正在垂直滚动 -
private void SyncScrollViewers()
{
var scrollViewer1 = MyListView1.GetScrollViewer();
var scrollViewer2 = MyListView2.GetScrollViewer();
scrollViewer1.ViewChanged += (s, e) =>
{
scrollViewer2.ChangeView(null, scrollViewer1.VerticalOffset, null, false);
};
}
【讨论】: