public void NavigateTo(Type targetType) { if (targetType != null) { mAppServices = DependencyService.Get <IAppServices>(); var page = (Page)Activator.CreateInstance(targetType); NavigationHandler.SetDetailPage(page); Task.Run(() => { new System.Threading.ManualResetEvent(false).WaitOne(200); }).ContinueWith(t => { IsPresented = false; var itemsSource = masterPage.ListView.ItemsSource; masterPage.ListView.ItemsSource = null; masterPage.ListView.ItemsSource = itemsSource; }, TaskScheduler.FromCurrentSynchronizationContext()); } }
void ListView_ItemTapped(object sender, ItemTappedEventArgs e) { try { var item = e.Item as MasterPageItemViewModel; if (item != null && !IsChanging) { masterPage.ListView.SelectedItem = null; foreach (var masterPageItemViewModel in masterPage.ListView.ItemsSource.Cast <MasterPageItemViewModel>().ToList()) { //masterPageItemViewModel.IsSelected = masterPageItemViewModel == item; } if (item.TargetType != null) { mAppServices = DependencyService.Get <IAppServices>(); var page = (Page)Activator.CreateInstance(item.TargetType); NavigationHandler.SetDetailPage(page); Task.Run(() => { new System.Threading.ManualResetEvent(false).WaitOne(200); }).ContinueWith(t => { IsPresented = false; var itemsSource = masterPage.ListView.ItemsSource; masterPage.ListView.ItemsSource = null; masterPage.ListView.ItemsSource = itemsSource; }, TaskScheduler.FromCurrentSynchronizationContext()); } } } catch (Exception e1) { ExceptionHandler.Catch(e1); } }