#silverlight #silverlight-4.0
#silverlight #silverlight-4.0
Вопрос:
Есть ли способ запретить пользователю вставлять данные в поле пароля. Требование заключается в том, что пользователь не должен копировать пароль из поля пароля в поле подтверждения пароля. События нажатия клавиши вниз, похоже, мне не помогают, поскольку они срабатывают только при нажатии клавиши ctrl и не срабатывают при ctrl V.
Ответ №1:
Одним из решений может быть расширение элемента управления текстовым полем для имитации поля пароля и переопределения событий ввода / выключения клавиш, чтобы предотвратить копирование / вставку. Похоже, что кто-то уже написал это для поддержки восточноазиатских символов:
Разрешение ввода восточноазиатских символов в поле пароля
Вы должны иметь возможность изменять обработчик OnKeyDown, чтобы также отключить вставку:
protected override void OnKeyDown(KeyEventArgs e)
{
if (e.Key == Key.Ctrl)
CtrlKeyDown = true;
if (CtrlKeyDown amp;amp; (e.Key == Key.C || e.Key == Key.X || e.Key == Key.Z || e.Key == Key.Y || e.Key == Key.V))
e.Handled = true;
else
base.OnKeyDown(e);
}
Комментарии:
1. Я думаю, это похоже на единственное доступное решение на данный момент.