private async void CheckUpdate_OnClick(object sender, RoutedEventArgs e) { CheckUpdateButton.IsEnabled = false; CheckupdateRing.Visibility = Visibility.Visible; try { var updateInfo = await OnlineUpdateManager.GetUpdateInfoAsync(); if (updateInfo == null) { UpdateStatusBlock.Text = "已经是最新版本,无需更新。"; } else { if (App.CurrentApp.NewUpdateInfo == null || App.CurrentApp.NewUpdateInfo.NewVersion != updateInfo.NewVersion) { App.CurrentApp.NewUpdateInfo = updateInfo; ShowUpdateInfo(updateInfo); } } } catch { MessageBox.Show("检查更新时出现错误,请稍候重试。"); } finally { CheckupdateRing.Visibility = Visibility.Collapsed; CheckUpdateButton.IsEnabled = true; } }
protected override void OnContentRendered(EventArgs e) { base.OnContentRendered(e); var checkUpdateTask = OnlineUpdateManager.GetUpdateInfoAsync(); checkUpdateTask.ContinueWith(t => { var updateInfo = t.Result; if (updateInfo == null) { return; } if (App.CurrentApp.NewUpdateInfo == null || App.CurrentApp.NewUpdateInfo.NewVersion != t.Result.NewVersion) { App.CurrentApp.NewUpdateInfo = updateInfo; Dispatcher.InvokeAsync(() => ShowUpdateInfo(updateInfo)); } }); }