C# 我可以在UWP中的多个Listview项目之间同步滚动吗?

C# 我可以在UWP中的多个Listview项目之间同步滚动吗?,c#,xaml,uwp,windows-10,C#,Xaml,Uwp,Windows 10,如何链接2个Listview组件,使其滚动同步(当我滚动其中一个组件时,其他组件也同时滚动) 所以基本上我需要一种方法: 1) 监视Listview1的滚动事件 2) 将相同的滚动偏移设置为Listview2 我在Stackoverflow上找到了一些示例,但它们要么引用WPF,要么引用WinRT,并且与我的应用程序不兼容 谢谢大家! 您在问题中描述的内容可以通过以下步骤完成: 在列表视图中找到ScrollViewer(从中签出GetScrollViewer) 订阅ViewChanged事件 在

如何链接2个Listview组件,使其滚动同步(当我滚动其中一个组件时,其他组件也同时滚动)

所以基本上我需要一种方法:

1) 监视Listview1的滚动事件 2) 将相同的滚动偏移设置为Listview2

我在Stackoverflow上找到了一些示例,但它们要么引用WPF,要么引用WinRT,并且与我的应用程序不兼容


谢谢大家!

您在问题中描述的内容可以通过以下步骤完成:

  • 列表视图
    中找到
    ScrollViewer
    (从中签出
    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);
        };
    }
    

    您在问题中描述的内容可以通过以下步骤完成:

  • 列表视图
    中找到
    ScrollViewer
    (从中签出
    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);
        };
    }