Beispiel #1
0
        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());
            }
        }
Beispiel #2
0
        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);
            }
        }