首页 > 解决方案 > 如何避免在滚动到滚动视图中的特定点时使用 Task.Delay,因为我在运行时添加了看不见的子项?

问题描述

在这里,我使用了滚动视图,并将子项添加到可见高度,而其他子项在运行时添加,同时向下滚动。因此,我需要滚动到像 Scrollview.ScrollTo(x,y) 这样的特定点,为此我需要通过添加子项 height.Height 来计算 y,首先使用延迟将视图带入屏幕并计算。但是需要计算一次孩子在滚动时显示的时间,而不是延迟

ScrollViewer.ScrollTo(0, (int)totalheight);
await Task.Delay(500);
totalheight += this.CalculateHeight(ScrollView.GetChildrenAt(i));

在最后一个方法中返回子视图高度,但视图立即变为空。

标签: xamarin.iosxamarin.androidnullreferenceexceptionandroid-scrollview

解决方案


推荐阅读