Вопрос: Как я могу установить позицию каретки на определенный индекс в поле пароля в WPF


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

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


5


источник


Ответы:


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

10



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


1