【发布时间】:2011-05-05 05:57:22
【问题描述】:
有没有办法阻止用户将数据粘贴到密码框中。要求是用户不应将密码从密码字段复制到确认密码字段。按键事件似乎对我没有帮助,因为它仅在按下 ctrl 键时触发并且不会在 ctrl + V 上触发。
【问题讨论】:
标签: silverlight silverlight-4.0
有没有办法阻止用户将数据粘贴到密码框中。要求是用户不应将密码从密码字段复制到确认密码字段。按键事件似乎对我没有帮助,因为它仅在按下 ctrl 键时触发并且不会在 ctrl + V 上触发。
【问题讨论】:
标签: silverlight silverlight-4.0
一种解决方案可能是扩展 TextBox 控件以模仿 PasswordBox 并覆盖 KeyUp/KeyDown 事件以防止复制/粘贴。为了支持东亚字符,似乎有人已经写了这个:
Allowing input of east asian characters to PasswordBox
您应该也可以修改 OnKeyDown 处理程序以禁用粘贴:
protected override void OnKeyDown(KeyEventArgs e)
{
if (e.Key == Key.Ctrl)
CtrlKeyDown = true;
if (CtrlKeyDown && (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);
}
【讨论】: