欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

界面卡住不动,navigationservice.navigate 不转入下一个页面

更新时间: 2014-01-05 02:38:19 责任编辑: Author_N1

 

界面卡住不动,NavigationService.Navigate 不转向下一个页面
 public static async void SavingDataThread()
        {
          //在当前页面进行相关进度操作
            string struid = null;
            int persent = 0;
            int TotalCount = App.Global.AllCons.Count;
            ContactStore store1 = await ContactStore.CreateOrOpenAsync(ContactStoreSystemAccessMode.ReadWrite, ContactStoreApplicationAccessMode.ReadOnly);
            //serach
            IReadOnlyDictionary<string, StoredContact> conlistWP = await SaveData.QueryDuplicateContacts(store1);
            for ( int i = 0; i < TotalCount;i++)
            {
                struid = SaveData.IsExistContact(conlistWP, App.Global.AllCons[i]);
                if (struid != null)
                {
                        App.GlobalContactinfo.GlobalDuplicateContacts.Add(App.Global.AllCons[i]);
                        await SaveData.Info(struid, store1, App.Global.AllCons[i]);
                }
                else
                {
                    await SaveData.AddContacts(store1, App.Global.AllCons[i]);
                    App.Global.AddCount++;
                }
                persent = (int)((float)(i + 1) * 100 / (float)TotalCount);
                _mainPage.Dispatcher.BeginInvoke(delegate()
                {
                    _mainPage.mainProgressbar.Value = persent;
                });
            }
            await Task.Run(() =>
            {
                if (persent >= 100)
                    return;
            });
          //转向下一个页面
            this.Dispatcher.BeginInvoke(delegate()
            {
                if (App.GlobalContactinfo.GlobalDuplicateContacts.Count == 0)
                {
                      NavigationService.Navigate(new Uri("/ResultPage.xaml", UriKind.Relative));
                }
                else
                {
                        NavigationService.Navigate(new Uri("/DetailPage.xaml", UriKind.Relative));
                }
            });
        }


上面代码的作用是在向手机添加完联系人后,转向下一个处理页面,可是有些时候当进度条走完(到100%),界面一直卡在这里不转到下个页面,这种情况随机发生,不知道是怎么回事,我使用弹messagebox的方法跟踪,
 this.Dispatcher.BeginInvoke(delegate() 			
			
		
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:38:19
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/12431/
本文WWW.DOC100.NET DOC100.NET版权所有。