using System.Windows; namespace NetTool.Client; public partial class PasswordPromptWindow : Window { public PasswordPromptWindow(string deviceLabel, string savedPassword) { InitializeComponent(); PromptTextBlock.Text = $"请输入设备 {deviceLabel} 的管理密码。"; PasswordBox.Password = savedPassword; ClearPasswordButton.Visibility = string.IsNullOrWhiteSpace(savedPassword) ? Visibility.Collapsed : Visibility.Visible; Loaded += (_, _) => PasswordBox.Focus(); } public string Password => PasswordBox.Password; public bool ClearSavedPasswordRequested { get; private set; } private void OkButton_OnClick(object sender, RoutedEventArgs e) { if (string.IsNullOrWhiteSpace(PasswordBox.Password)) { MessageBox.Show(this, "请输入管理密码。", "缺少管理密码", MessageBoxButton.OK, MessageBoxImage.Information); PasswordBox.Focus(); return; } DialogResult = true; } private void CancelButton_OnClick(object sender, RoutedEventArgs e) { DialogResult = false; } private void ClearPasswordButton_OnClick(object sender, RoutedEventArgs e) { ClearSavedPasswordRequested = true; PasswordBox.Clear(); ClearPasswordButton.Visibility = Visibility.Collapsed; PasswordBox.Focus(); } }