C# windows phone 8用户界面上的异步更新
我阅读了关于如何在internet上异步更新页面UI的内容,并了解到我们可以通过调用dispatcher和调用类似的方法来更新页面UIC# windows phone 8用户界面上的异步更新,c#,windows-phone-7,asynchronous,windows-phone-8,C#,Windows Phone 7,Asynchronous,Windows Phone 8,我阅读了关于如何在internet上异步更新页面UI的内容,并了解到我们可以通过调用dispatcher和调用类似的方法来更新页面UI Dispatcher.BeginInvoke(() => { MessageBox.Show("some message"); }); 但是,它不起作用。我认为我缺少一些基本概念。 我想更新状态文本框关于手机的互联网连接 async void HomePage_Loaded(object sender, RoutedEventArgs e) {
Dispatcher.BeginInvoke(() =>
{
MessageBox.Show("some message");
});
但是,它不起作用。我认为我缺少一些基本概念。
我想更新状态文本框关于手机的互联网连接
async void HomePage_Loaded(object sender, RoutedEventArgs e)
{
if (App.Connectivity == -1)
{
await ConnectionInitialization();
}
}
private async Task ConnectionInitialization()
{
if(NetworkInterface.GetIsNetworkAvailable())
{
SystemTray.ProgressIndicator = new ProgressIndicator();
Deployment.Current.Dispatcher.BeginInvoke(() => SetProgressIndicator(true));
Deployment.Current.Dispatcher.BeginInvoke(() => TextBoxAppStatus.Text = "Connecting...");
}
else
{
Deployment.Current.Dispatcher.BeginInvoke(() => TextBoxAppStatus.Text = "Disconnected");
await ConnectionInitialization();
}
}
在这里,它进入无限循环,没有在屏幕上显示任何内容,既没有进度条也没有文本框。请告诉我概念上的错误。
如果您也能为我提供制作用户友好的stud应用程序的资源,我将不胜感激。谢谢您的代码,如果没有可用的连接,您将具有无限递归 关于线程:如果在UI上使用异步,代码将在UI线程上继续执行,所以不需要使用Dispatcher 使用DeviceNetworkInformation.NetworkAvailabilityChanged事件跟踪连接状态的更改