Как избежать использования Task.Delay при прокрутке до определенной точки в представлении прокрутки, поскольку я добавляю дочерние элементы во время выполнения, которые находятся вне поля зрения? - PullRequest
0 голосов
/ 31 января 2019

Здесь я использовал представление прокрутки, и дочерние элементы добавляются до видимой высоты, а другие дочерние элементы добавляются во время выполнения при прокрутке вниз.Следовательно, мне нужно прокрутить до определенной точки, например Scrollview.ScrollTo (x, y), для этого мне нужно рассчитать y, добавив дочернюю высоту. Высота рассчитывается с использованием задержки, чтобы сначала отобразить вид на экране, и я вычисляю.Но необходимо рассчитать, как только дочерние элементы отображаются во время прокрутки без задержки

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

Где высота представления детей возвращается в последнем методе, но без задержки представление становится нулевым.

...