如何在Silverlight中禁用复制粘贴到密码框中

时间:2011-05-05 05:57:22

标签: silverlight silverlight-4.0

有没有办法阻止用户将数据粘贴到密码框中。要求是用户不应将密码从密码字段复制到确认密码字段。按键事件似乎没有帮助我,因为它只有在按下ctrl键时才触发,并且不会在ctrl + V上触发。

1 个答案:

答案 0 :(得分:1)

一种解决方案可能是扩展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);
}