前面有问大家为什么用:
page.Dispatcher.BeginInvoke(delegate()
{
NavigationService.Navigate(uri);
});
NavigationService.Navigate时卡在界面,而不转向下个页面,我怀疑是Dispatcher.BeginInvoke使用有误是界面卡住。
我是在异步方法中调用它更新UI的。
Data.cs
public static MainPage page;
static async void receivingdata()
{
//省略...
page.Dispatcher.BeginInvoke(delegate()
{
NavigationService.Navigate(uri);
});
}
Mainpage.xaml.cs
protected override void OnNavigatedTo(NavigationEventArgs e)
{
Data.page = this;
Data.receivingdata();
}
请问如果这样写,该怎样更新UI.
------解决方案--------------------
OnNavigatedTo里边再跳转是不是太急了点,试着在其中某个控件的Load事件里跳转下看看
------解决方案--------------------
OnNavigatedTo里面就调整,这个页面还有什么意义,不如直接在上一个页面做判断了
------解决方案--------------------
在非UI线程更新UI:
Deployment.Current.Dispatcher.BeginInvoke(() =>NavigationService.Navigate(uri));
------解决方案--------------------
学习了
------解决方案--------------------
学习了。