void OnItemSelected(object sender, SelectedItemChangedEventArgs e) { if (PageGenerator?.ShouldGenerateFrom(e.SelectedItem) == true) { Page newPage = PageGenerator.Generate(e.SelectedItem); if (PageGenerator.ShouldSetBindingContextOfNewPage(e.SelectedItem)) { newPage.BindingContext = e.SelectedItem; } Navigation.PushAsync(newPage); } if (!LeaveSelected) { (sender as ListView).SelectedItem = null; } }