Как добавит элементы в FlexLayout не блокируя основной поток?
Здраствуйте.Имеется FlexLayout
<ScrollView Scrolled="ScrollView_Scrolled">
<FlexLayout x:Name="flexLayout"
Wrap="Wrap"
JustifyContent="SpaceAround" >
</FlexLayout>
</ScrollView>
В него добавляются новые элементы,как только будет достигнута конец ScrollView.
private void ScrollView_Scrolled(object sender, ScrolledEventArgs e)
{
ScrollView scrollView = sender as ScrollView;
int scrollingSpace = (int)(scrollView.ContentSize.Height - scrollView.Height);
var scrollY =(int) e.ScrollY;
if (scrollingSpace <= scrollY)
{
AddContent();
}
}
Метод AddContent() асинхронный.Но почему-то всё равно блокируется основной поток,во время загрузки длительностью в две секунды пользователь не может работать с ScrollView. Как не заблокировать основной поток,во время загрузки элементов? Спасибо за уделённое время.
async void AddContent()
{
try
{
var ResultPhotoPexalNextPage = await pexelsClient.CuratedPhotosAsync(NamberPage,SizePage);
NamberPage++;
for (int i = 0; i < SizePage; i++)
{
ImageClass imageButton1 = new ImageClass
(
new ImageButton { Source = ImageSource.FromUri(new Uri(ResultPhotoPexalNextPage.photos[i].source.medium)), StyleId = ResultPhotoPexalNextPage.photos[i].photographerUrl },
url: ResultPhotoPexalNextPage.photos[i].source.portrait,
Height_Image: ResultPhotoPexalNextPage.photos[i].height,
Width_Image: ResultPhotoPexalNextPage.photos[i].width,
photographer_url: ResultPhotoPexalNextPage.photos[i].photographerUrl,
photographer_name: ResultPhotoPexalNextPage.photos[i].photographer
);
};
flexLayout.Children.Add(imageButton1.Image_button);
}
//DeleteLater
Label1.Text = (GC.GetTotalMemory(false) / 1048576).ToString() + " MB";
//
}
catch (Exception q)
{
}
}
}