【问题标题】:How to disable copy paste into password box in Silverlight如何在 Silverlight 中禁用复制粘贴到密码框中
【发布时间】:2011-05-05 05:57:22
【问题描述】:

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

【问题讨论】:

    标签: silverlight silverlight-4.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);
    }
    

    【讨论】:

    • 我猜这似乎是目前唯一可用的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2010-10-24
    • 1970-01-01
    • 1970-01-01
    • 2011-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多