首页 > 编程语言 >c# PasswordBoxHelper

c# PasswordBoxHelper

时间:2023-07-14 22:11:18浏览次数:39  
标签:PasswordChanged string c# PasswordBox pb static PasswordBoxHelper public

 1  public class PasswordBoxHelper
 2     {
 3         public static readonly DependencyProperty PasswordProperty = DependencyProperty.RegisterAttached("Password", typeof(string), typeof(PasswordBoxHelper),
 4               new PropertyMetadata(new PropertyChangedCallback(OnPropertyChanged)));
 5 
 6         public static string GetPassword(DependencyObject d)
 7         {
 8             return (string)d.GetValue(PasswordProperty);
 9         }
10         public static void SetPassword(DependencyObject d, string value)
11         {
12             d.SetValue(PasswordProperty, value);
13         }
14 
15         public static readonly DependencyProperty AttachProperty = DependencyProperty.RegisterAttached("Attach", typeof(string), typeof(PasswordBoxHelper),
16             new PropertyMetadata(new PropertyChangedCallback(OnAttachChanged)));
17 
18         public static string GetAttach(DependencyObject d)
19         {
20             return (string)d.GetValue(PasswordProperty);
21         }
22         public static void SetAttach(DependencyObject d, string value)
23         {
24             d.SetValue(PasswordProperty, value);
25         }
26 
27         static bool _isUpdating = false;
28         private static void OnPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
29         {
30             PasswordBox pb = (d as PasswordBox);
31             pb.PasswordChanged -= Pb_PasswordChanged;
32             if (!_isUpdating)
33                 (d as PasswordBox).Password = e.NewValue.ToString();
34             pb.PasswordChanged += Pb_PasswordChanged;
35         }
36 
37         private static void OnAttachChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
38         {
39             PasswordBox pb = (d as PasswordBox);
40             pb.PasswordChanged += Pb_PasswordChanged;
41         }
42 
43         private static void Pb_PasswordChanged(object sender, RoutedEventArgs e)
44         {
45             PasswordBox pb = (sender as PasswordBox);
46             _isUpdating = true;
47             SetPassword(pb, pb.Password);
48             _isUpdating = false;
49         }
50     }

 

标签:PasswordChanged,string,c#,PasswordBox,pb,static,PasswordBoxHelper,public
From: https://www.cnblogs.com/zhaosanmao/p/17555127.html

相关文章

  • 运动控制-达妙C#开源USB2CAN例程
    C#Can总线资料不多,达妙USB2CAN入口http://www.dmbot.cn/forum.php?mod=viewthread&tid=328&extra=page%3D1......
  • [已过万次测试] MIT 6.5840 2023 Lab 4 Shard KV Server TaskA, TaskB, Challenge 通
    MIT6.58402023Lab4ShardKVServerTaskA,TaskB,Challenge前言这波是终于写完了MIT6.5840的所有lab了。lab均是独立完成,没有任何参考,哈哈,还是挺有成就感的。lab4其实在上周就已经写完了,不过比较懒,拖了一周才开始写总结。本次lab4,在所有lab中,个人认为难度仅次于lab2,也......
  • 2023-07-14:讲一讲Kafka与RocketMQ中存储设计的异同?
    2023-07-14:讲一讲Kafka与RocketMQ中存储设计的异同?答案2023-07-14:在Kafka中,文件的布局采用了Topic/Partition的方式,每个分区对应一个物理文件夹,且在分区文件级别上实现了顺序写入。然而,当一个Kafka集群拥有大量的主题和每个主题拥有数百个分区时,在高并发写入消息的情况下,IO操作......
  • CEOI Team Selection D1T2 Prosjek
    首先全奇全偶的情况是容易的,将\(\bmod4\)意义下相同的合并即可保持原来的奇偶状态,当只有两个是直接合并即可,归纳即可说明全奇全偶一定合法。但关键的问题在于奇偶状态可能互相影响,一个直观的想法是将奇合并为一个\(x\),偶合并为一个\(y\),如果\(x,y\)的奇偶性相同,那么它们即......
  • 文心一言 VS 讯飞星火 VS chatgpt (59)-- 算法导论6.4 3题
    文心一言VS讯飞星火VSchatgpt(59)--算法导论6.43题三、对于一个按升序排列的包含n个元素的有序数组A来说,HEAPSORT的时间复杂度是多少?如果A是降序呢?文心一言:对于一个按升序排列的包含n个元素的有序数组A来说,HEAPSORT的时间复杂度是O(nlogn)。这是因为HEA......
  • Mac下的数据库设计工具 Workbench
    Workbench制造商:SunSystems/Oracle网站:http://dev.mysql.com/downloads/workbench/价格:免费许可证:GPLLicense支持平台:MicrosoftWindows,MacOSX,LinuxMySQLWorkbench是一款图形化的数据库设计工具,它在一个开发环境中集成了SQL的开发,管理,数据库设计,创建以及维护。它是fabFORCE.n......
  • CoreData框架
    框架概图1、被管理对象模型(ManagedObjectModels)多数CoreData的功能依赖于你创建的,用来描述程序的实体(Entity)及其属性(Property)、关系(Relationships)的模型图。模型图由NSManagedObjectModel所表示。一般说来,模型的信息越充实,CoreData能提供的功能就越好。ManagedObjectModel......
  • 2023-07-14:讲一讲Kafka与RocketMQ中存储设计的异同?
    2023-07-14:讲一讲Kafka与RocketMQ中存储设计的异同?答案2023-07-14:在Kafka中,文件的布局采用了Topic/Partition的方式,每个分区对应一个物理文件夹,且在分区文件级别上实现了顺序写入。然而,当一个Kafka集群拥有大量的主题和每个主题拥有数百个分区时,在高并发写入消息的情况下,IO操作会变......
  • RestKit学习5:Loading Remote Objects
    本系列的前面几篇:RestKit学习1:引用RestKit项目RestKit学习2:使用RestKit发送和接受请求 RestKit学习3:CoreData从模型到实体RestKit学习4:DatabaseSeeding(生成数据库文件)这篇是从服务器的一个json接口直接获得数据,并把数据解析成对象。需要解析的json字符串:{"error":0,"message":"......
  • 配置问题-Error creating bean with name 'user' defined in class path resource [be
    正在学习IoC使用的jdk版本为jdk17依赖为:<dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>6.0.6</version></dependen......