PasswordPromptWindow.xaml.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using System.Windows;
  2. namespace NetTool.Client;
  3. public partial class PasswordPromptWindow : Window
  4. {
  5. public PasswordPromptWindow(string deviceLabel, string savedPassword)
  6. {
  7. InitializeComponent();
  8. PromptTextBlock.Text = $"请输入设备 {deviceLabel} 的管理密码。";
  9. PasswordBox.Password = savedPassword;
  10. ClearPasswordButton.Visibility = string.IsNullOrWhiteSpace(savedPassword) ? Visibility.Collapsed : Visibility.Visible;
  11. Loaded += (_, _) => PasswordBox.Focus();
  12. }
  13. public string Password => PasswordBox.Password;
  14. public bool ClearSavedPasswordRequested { get; private set; }
  15. private void OkButton_OnClick(object sender, RoutedEventArgs e)
  16. {
  17. if (string.IsNullOrWhiteSpace(PasswordBox.Password))
  18. {
  19. MessageBox.Show(this, "请输入管理密码。", "缺少管理密码", MessageBoxButton.OK, MessageBoxImage.Information);
  20. PasswordBox.Focus();
  21. return;
  22. }
  23. DialogResult = true;
  24. }
  25. private void CancelButton_OnClick(object sender, RoutedEventArgs e)
  26. {
  27. DialogResult = false;
  28. }
  29. private void ClearPasswordButton_OnClick(object sender, RoutedEventArgs e)
  30. {
  31. ClearSavedPasswordRequested = true;
  32. PasswordBox.Clear();
  33. ClearPasswordButton.Visibility = Visibility.Collapsed;
  34. PasswordBox.Focus();
  35. }
  36. }