关键字:WPF .Net C# MVVM Light Toolkit 框架 Visual Studio 2010 VS2010 Expression Blend 4 入门 教程 新手 实践
六、MustToggleIsEnabled
在上一篇,我将View层的登录操作绑定到了ViewModel层的Command对象上。当运行程序时,LoginViewModel的UserID和Password的初始值如果均不为空(null/string.Empty),则登录按钮的行为和状态貌似正常;LoginViewModel的UserID和Password的初始值有任何一个为空,则登录按钮就变成了Disabled状态,并且在输入了用户ID和密码后,其状态依然是Disabled。这与我的期望相去甚远。为了使登录按钮的状态能够根据CanLogin()方法中的逻辑动态改变,接下来我需要对LoginButtonClick对象的MustToggleIsEnabled和MustToggleIsEnabledValue两个属性进行一些改动。
1、在LoginViewModel.cs中输入“mvvminpc”,按Tab键,得到代码段模板,把默认名称改为ToggleIsEnabled。
2、在LoginViewModel的UserID和Password属性(影响CanLogin()方法返回值的两个因素)中,添加改变ToggleIsEnabled属性值的语句。
3、在Blend 4中,将LoginButtonClick对象的MustToggleIsEnabled属性绑定到LoginViewModel的ToggleIsEnabled属性,并把MustToggleIsEnabledValue属性设置为True,如下两图所示。
编译运行。现在,登录按钮的Disabled状态已经能够根据用户ID和密码的输入情况进行动态改变了。