Я пытаюсь найти пароль с помощью WPF, но не могу понять, почему это не работает.
Я хочу, чтобы пароль был скрыт, и когда пользователь нажимает на глаз, пароль будет виден.
Идея состоит в том, чтобы сделать скрытое текстовое поле и видимое поле пароля, и когда пользователь нажимает кнопку глаза, текстовое поле будет видно, а поле пароля будет скрыто, вот мой код:
XAML:
<PasswordBox x:Name = "passwordBox" HorizontalAlignment = "Left" Height = "27" Margin = "102,37,0,0" VerticalAlignment = "Top" Width = "140"/>
<TextBox x:Name = "password_textbox" HorizontalAlignment = "Left" Height = "27" Margin = "102,37,0,0" VerticalAlignment = "Top" Width = "140" Visibility = "Collapsed"/>
<Button x:Name = "eye_button" Background = "White" HorizontalAlignment = "Left" Height = "27" Margin = "242,37,0,0" VerticalAlignment = "Top" Width = "30" MouseDown = "MouseDown" MouseUp = "MouseUp"/>
Код позади:
public MyPage()
{
InitializeComponent();
eye_button.PreviewMouseUp += MouseUp;
eye_button.PreviewMouseUp += MouseDown;
}
.
.
.
void MouseUp(Object sender , RoutedEventArgs args)
{
password_textbox.Text = "aaaaaaaa";
passwordBox.Visibility = Visibility.Collapsed;
password_textBox.Visibility = Visibility.Visible;
password_textBox.Focus();
}
void MouseDown(Object sender , RoutedEventArgs args)
{
passwordBox.Visibility = Visibility.Visible;
password_textBox.Visibility = Visibility.Collapsed;
passwordBox.Focus();
}
Можете уточнить, что не работает? Поскольку вы используете обработчики событий PreviewMouseUp и PreviewMouseDown, стандартный щелчок (быстро вниз и вверх с помощью мыши) немедленно скроет, а затем покажет соответствующие поля. Если вы хотите, чтобы пользователь щелкнул и удерживал кнопку с глазом, может быть, это то, что вам нужно? Просто непонятно, чего вы ждете.
Когда я говорю "не работает", я имею в виду, что я все еще вижу точки и не вижу настоящий пароль.
похоже, что вы сделали это наоборот, когда вы наводите курсор мыши, вы делаете видимым ящик с паролями
Есть несколько подходов, вот трюк, вы можете использовать FontFamily = "Wingdings 2" в текстовом поле и изменить на FontFamily = "Tahoma" при нажатии кнопки





что именно не работает?