2009-06-18 12 views
1

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

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

ответ

1

Вы можете попробовать что-то вроде этого, чтобы установить выбор в 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(); 

предоставляется выше ответ по Andrew Jackson и он отлично работает.

+0

Как вы определяете текущую позицию каретки? –