using System.Windows; using System.Windows.Controls; using System.Windows.Media; using Zerolauncher.Manager; namespace Zerolauncher.dialog { /// /// EditMember.xaml 的交互逻辑 /// public partial class EditMember : UserControl { private Dictionary _services; public EditMember() { _services = new Dictionary(); int i = 0; foreach (string serviceName in ServicesStaticInfo.ServicesName) { _services[i++] = serviceName; } InitializeComponent(); cb_pid.ItemsSource = _services; if(EditMemberDialog.member != null) { int index = (int)EditMemberDialog.member; var acc = AccountManager.accountsList[index]; cb_pid.SelectedIndex = acc.providerId; edit_sid.Text = acc.serverId; edit_acc.Text = acc.userName; edit_pwd.Password = acc.userPWD; edit_nick.Text = acc.nickName; } return; // 私服用 if (ServicesStaticInfo.ServicesName.Length == 1) { cb_pid.SelectedIndex = 1; edit_sid.Text = "1"; cb_pid.IsEditable = false; edit_sid.IsEnabled = false; } } private void PasswordBox_PasswordChanged(object sender, RoutedEventArgs e) { PasswordBox passwordBox = sender as PasswordBox; VisualBrush helpBrush = passwordBox.Resources["HelpBrush"] as VisualBrush; if (passwordBox.Password.Length > 0) { passwordBox.Background = new SolidColorBrush(Color.FromRgb(255, 255, 255)); } else { passwordBox.Background = helpBrush; } } private void Button_Click(object sender, RoutedEventArgs e) { if (string.IsNullOrEmpty(cb_pid.Text) || string.IsNullOrEmpty(edit_sid.Text) || string.IsNullOrEmpty(edit_acc.Text) || string.IsNullOrEmpty(edit_pwd.Password) || string.IsNullOrEmpty(edit_nick.Text)) { MessageBox.Show("所有选项均不能为空!", "提示"); return; } if (EditMemberDialog.member == null) { AccountManager.AddAccount(new Account { providerId = cb_pid.SelectedIndex, serverId = edit_sid.Text, userName = edit_acc.Text, userPWD = edit_pwd.Password, nickName = edit_nick.Text }); EditMemberDialog.Close(); return; } int index = (int)EditMemberDialog.member; var acc = AccountManager.accountsList[index]; acc.providerId = cb_pid.SelectedIndex; acc.serverId = edit_sid.Text; acc.userName = edit_acc.Text; acc.userPWD = edit_pwd.Password; acc.nickName = edit_nick.Text; AccountManager.saveEdit(); EditMemberDialog.Close(); return; } } }