wpf поле ввода пароля - PullRequest
       17

wpf поле ввода пароля

1 голос
/ 18 июня 2009

Как использовать элемент управления паролем с виртуальной клавиатурой с использованием WPF? С помощью элемента управления текстовым полем довольно просто просто переместить каретку на следующую позицию текста; не так с паролем, который не раскрывает позицию каретки.

Должен ли я просто получить свой собственный? Похоже на слабый соус.

1 Ответ

1 голос
/ 20 марта 2012

Вы можете попробовать что-то вроде этого, чтобы установить выбор в PasswordBox:

private void SetSelection(PasswordBox passwordBox, int start, int length) { 
    passwordBox.GetType().GetMethod("Select", BindingFlags.Instance | BindingFlags.NonPublic)
                         .Invoke(passwordBox, new object[] { start, length }); 
} 

После этого назовите его так, чтобы установить положение курсора:

// set the cursor position to 2... or length of the password 
SetSelection( passwordBox1, 2, 0); 

// focus the control to update the selection 
passwordBox1.Focus(); 

Ответ выше предоставлен Эндрю Джексоном , и он отлично работает.

...