private async void LoginButton_Click(object sender, RoutedEventArgs e) { Console.WriteLine("login start"); //LoginButton.Content = "少女祈祷中"; client.ViewModel.LoginButtonContent = "少女祈祷中"; LoginButton.IsEnabled = false; //LoginUserComboBox.IsEnabled = false; UserSelector.IsEnabled = false; var username = UsernameBox.Text; var password = PasswordBox.Password; client.ViewModel.IsLogin = false; if (!"".Equals(username) && !"".Equals(password)) { client.ViewModel.IsLogin = await Task.Run(() => { try { return(client.Login(username, password)); } catch (Exception ex) { Console.WriteLine(ex.Message); return(false); } }); } if (client.ViewModel.IsLogin) { client.ViewModel.IsReady = false; client.ViewModel.IsRunning = false; LoginPanel.Visibility = Visibility.Hidden; StatusPanel.Visibility = Visibility.Visible; Tabs.IsEnabled = false; try { await Task.Run(() => { client.Profile(); }); } catch (Exception ex) { Console.WriteLine(ex.Message); } try { await Task.Run(() => { if (client.ViewModel.IsQuestEnable) { var result = client.StartQuest(); client.ViewModel.IsReady = result; return(result); } else if (client.ViewModel.IsGuildBattleEnable) { var result = client.StartGuildBattle(); client.ViewModel.IsReady = result; return(result); } else if (client.ViewModel.IsGachaEnable) { var result = client.StartGacha(); return(result); } return(false); }); nowUser = new LoginUser { username = username, password = password }; //save user SaveUserList(); } catch (Exception ex) { initLoginPanel(); Console.WriteLine(ex.Message); } finally { Tabs.IsEnabled = true; } } else { initLoginPanel(); MessageBoxResult result = System.Windows.MessageBox.Show("登入失败"); } }