TextBox文本框与PasswordBox密码框水印
创始人
2024-02-28 13:52:14
0

在开发一个软件和网页的时候,都会有一个功能,那就是登陆功能,有了登陆那就一定需要用户输入账号和密码,我们在写登陆页面都会想到使用TextBoxPasswordBox去完成这两个功能,但是有一个问题,那就是如果你使用TextBox完成这个功能,那么要输入账号的前,用户要手动删除这句提示才可以输入账号,这样就特别麻烦不说,而且也不好看,也不方便,因此我在网上找了一些资料,可以把这两个提示话改为一个水印,这样既提示了用户这里是要干什么,也方便了不需要在输入前删掉提示的话,也保留了美观

TextBox文本框水印

 

这是我上面说的需要在输入前把提示删除,就会显得很麻烦


在这里我们修改一下,不需要重写模板,只需要一个VisualBrush和触发器验证一下TextBox是否为空


PasswordBox密码框水印

密码框的水印不同于文本框,需要重新写一个类去判断

public class PasswordBoxMonitor : DependencyObject{public static bool GetIsMonitoring(DependencyObject obj){return (bool)obj.GetValue(IsMonitoringProperty);}public static void SetIsMonitoring(DependencyObject obj, bool value){obj.SetValue(IsMonitoringProperty, value);}public static readonly DependencyProperty IsMonitoringProperty = DependencyProperty.RegisterAttached("IsMonitoring", typeof(bool), typeof(PasswordBoxMonitor), new UIPropertyMetadata(false, OnIsMonitoringChanged));public static int GetPasswordLength(DependencyObject obj){return (int)obj.GetValue(PasswordLengthProperty);}public static void SetPasswordLength(DependencyObject obj, int value){obj.SetValue(PasswordLengthProperty, value);}public static readonly DependencyProperty PasswordLengthProperty = DependencyProperty.RegisterAttached("PasswordLength", typeof(int), typeof(PasswordBoxMonitor), new UIPropertyMetadata(0));public static void OnIsMonitoringChanged(DependencyObject d, DependencyPropertyChangedEventArgs e){var pb = d as PasswordBox;if (pb == null){return;}if ((bool)e.NewValue){pb.PasswordChanged += PasswordChanged;}else{pb.PasswordChanged -= PasswordChanged;}}public static void PasswordChanged(object sender, RoutedEventArgs e){var pb = sender as PasswordBox;if (pb == null){return;}//加Password.Length用于判断密码框长度是否为0,为0则显示水印,否则隐藏SetPasswordLength(pb, pb.Password.Length);}}

需要用到带水印的密码框的时候就引用一下类的即可


在写这个的时候我遇到一个问题,写出来可能会看大家有没有遇到这个问题也遇到了可以参考一下我的

我写完的时候发现我的类发地方了,然后把类移到正确的地方,然后就出现了上面这个问题,一直报错,运行不了,然后我检查了一些发现之前的那个类没有删干净,把之前那个地方的类删干净则可以了。要是大家遇到的问题跟我的一样,可以试试我的方法

当然,也不只有我这一个方法,大家可以在网上搜索一些其他的方法,或者大家知道另外的方法,也可以留言

相关内容

热门资讯

怎样选到靠谱刑事律师?赵可律师... 靠谱刑事律师的衡量标准在寻找靠谱的刑事律师时,有多个衡量标准。 专业能力是关键,律师需具备扎实的法学...
吉林省刑辩律师哪家强?辛明律师... 吉林省刑辩律师的重要性在吉林省,刑事案件的复杂性和多样性使得刑辩律师的作用愈发凸显。 他们不仅要熟悉...
江苏多地推出公租房调换政策 就... 原题:就医养老更方便 按需调换更贴心 公租房也能“换着住” 公共租赁房是由政府提供支持,为中低收入困...
法治日报:跨境犯罪治理需要更完... 跨境犯罪呈现多重犯罪形态交织特征 各国代表建言 跨境犯罪治理需要更完善的司法保障 编者按 携手30年...
原创 刘... 2025年12月18日,海南自由贸易港全岛封关运作正式启动,标志着我国高水平对外开放进入新阶段。全球...
美联储内部分歧加剧:哈马克称政... 智通财经APP获悉,克利夫兰联邦储备银行行长贝丝·哈马克表示,在评估第一季度累计75个基点的降息对经...
【深圳特区报】深港融通新格局 ... 前海港资企业突破万家、累计105项制度创新成果在全国复制推广、现代服务业增加值达1460亿元……12...
犯罪对象和受贿数额认定问题分析 实践中,有的行贿人为了送给国家工作人员好处,不直接送给国家工作人员财物,而是先委托国家工作人员代为出...
用好制度创新“加速器” 制度创新是破解发展难题、激发区域活力的核心密钥。上海浦东开发开放30余载的实践证明,唯有以制度创新破...