读到这里,可能有的读者会发现,我们只讲了用户名的绑定,然后就说到登录事件了,跳过了密码框和单选框的绑定。是因为这两者完全类似,不需要讲吗?并不是,而是因为它们涉及到了新的课题。
对于PasswordBox,可能很多人都会按着TextBox的路子,在ViewModel里面写一个属性,然后绑定到Password属性上。当你写完这一切的时候,你会突然收到Visual Studio的提示:Password并不是依赖属性,不能绑定!
当然,微软的工程师们这样设计是有原因的,毕竟绑定可能引起密码的泄漏问题。
那我们要怎么办呢?路子有两条:
(1)改造TextBox,把显示的字符改成***这种。
(2)改造PasswordBox,增加一个依赖属性,借助它读和写Password属性。
可能第二条路子会简单一些,我们选择这条路子。先上代码:
using System.Windows;
using System.Windows.Controls;
using System.Windows.Interactivity;
namespace LoginDemo.ViewModel.Common { /// <summary> /// 增加Password扩展属性 /// </summary> public static