有没有一种方法可以使同一页面上的两个不同滚动视图的滚动同步?

时间:2019-07-12 09:24:34

标签: xaml xamarin xamarin.forms xamarin.android

我的应用程序中有两个滚动视图。第一个包含水平工作列表的标题,第二个包含水平和垂直工作(双向)的列表。因此,现在我想同步两个滚动视图的滚动。我希望两个滚动视图同时工作。

1 个答案:

答案 0 :(得分:1)

您需要查看ScrollView

的Scroll事件和Scroll To委托动作。

Scrolled事件文档可以找到here

ScrollToAsync文档可以找到here

根据您要实现的目标,您可以分配每个ScrollView.Scrolled的{​​{1}}事件:

ScrollView

我还没有机会测试上面的内容,它只是一个简单的示例,可以帮助您朝正确的方向前进,在行为ScrollView.Scrolled += ()=>{ // If vertical get Scroll Y and translate it to your second ScrollViews Scroll X SecondScrollView.ScrollToAsync(ScrollView.ScrollX, SecondScrollView.ScrollY, true) } SecondScrollView.Scrolled += ()=>{ // If vertical get Scroll X and translate it to your first ScrollViews Scroll Y ScrollView.ScrollToAsync(SecondScrollView.ScrollX, ScrollView.ScrollY, true) } 时,您需要注意一些明智的行为调用它可能会触发该ScrollToAsync的滚动事件,因此,您需要处理该事件,以确保没有某些怪异的递归行为。