Как я могу установить позицию каретки для определенного индекса в поле пароля в WPF - PullRequest
5 голосов
/ 13 июня 2009

Мне нужно явно установить положение курсора внутри поля пароля в WPF. я не смог увидеть свойство selectionstart в passwordbox.

Любая помощь?

Ответы [ 2 ]

11 голосов
/ 26 июня 2009

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

// focus the control to update the selection
passwordBox1.Focus();
1 голос
/ 13 июня 2009

Нет, API для PasswordBox не предоставляет способ сделать это.

...