Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# windows phone 8用户界面上的异步更新_C#_Windows Phone 7_Asynchronous_Windows Phone 8 - Fatal编程技术网

C# windows phone 8用户界面上的异步更新

C# 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) {

我阅读了关于如何在internet上异步更新页面UI的内容,并了解到我们可以通过调用dispatcher和调用类似的方法来更新页面UI

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事件跟踪连接状态的更改