private async void ListView_ItemSelected(object sender, SelectedItemChangedEventArgs e) { if (e.SelectedItem == null || !(e.SelectedItem is QuizResultViewModel.TestResultItemViewModel)) { return; } if (Pushing) { return; } Pushing = true; try { await WordsPageSemaphore.WaitAsync(); var page = WordsPage; var selectTarget = ((QuizResultViewModel.TestResultItemViewModel)e.SelectedItem).Word; page.SelectedItem = selectTarget; NavigationPage.SetHasNavigationBar(page, false); await Navigation.PushAsync(page); } catch { } finally { WordsPageSemaphore.Release(); } (sender as ListView).SelectedItem = null; Pushing = false; }
protected override void OnAppearing() { base.OnAppearing(); Task.Run(async() => { try { await WordsPageSemaphore.WaitAsync(); //var temp = WordsPage; } finally { WordsPageSemaphore.Release(); } }); }