WPF新手实践6:MVVM Light Toolkit(六、MustToggleIsEnabled)
来源:互联网 发布:java aop自定义 编辑:程序博客网 时间:2024/05/16 09:37
关键字: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和密码的输入情况进行动态改变了。
- WPF新手实践6:MVVM Light Toolkit(六、MustToggleIsEnabled)
- WPF新手实践6:MVVM Light Toolkit(六、MustToggleIsEnabled)
- WPF新手实践5:MVVM Light Toolkit(五、Command)
- WPF新手实践7:MVVM Light Toolkit(七、Messenger)
- WPF新手实践5:MVVM Light Toolkit(五、Command)
- WPF新手实践7:MVVM Light Toolkit(七、Messenger)
- WPF新手实践1:MVVM Light Toolkit(一、下载与安装)
- WPF新手实践2:MVVM Light Toolkit(二、创建MvvmLight项目)
- WPF新手实践3:MVVM Light Toolkit(三、ViewModel和View)
- WPF新手实践4:MVVM Light Toolkit(四、Model、ViewModel和View)
- WPF新手实践8:MVVM Light Toolkit(八、Messenger进阶)
- WPF新手实践1:MVVM Light Toolkit(一、下载与安装)
- WPF新手实践2:MVVM Light Toolkit(二、创建MvvmLight项目)
- WPF新手实践3:MVVM Light Toolkit(三、ViewModel和View)
- WPF新手实践4:MVVM Light Toolkit(四、Model、ViewModel和View)
- WPF新手实践8:MVVM Light Toolkit(八、Messenger进阶)
- 开源框架MVVM Light Toolkit for wpf/silverlight系列
- Mvvm Light Toolkit for wpf/silverlight系列之准备工作
- WPF新手实践4:MVVM Light Toolkit(四、Model、ViewModel和View)
- iOS UIImage扩展方法(category):放大、旋转、合并UIImage、增加渐变层、添加阴影、调节透明度、保存到相册
- 【问题1 android能不能用ImageView来显示动画图片?】
- WPF新手实践5:MVVM Light Toolkit(五、Command)
- HTML5 Canvas: 用路径描画线条
- WPF新手实践6:MVVM Light Toolkit(六、MustToggleIsEnabled)
- JAVA入门书籍2(备查)
- 很感谢这篇文张【已解决】Makefile:xxx: recipe for target xxx failed +【顺带搞懂了】如何忽略makefile执行过程中的某些命令的错误而得以继续运行
- HTTP协议详解
- WPF新手实践7:MVVM Light Toolkit(七、Messenger)
- mysql行号问题
- 我的人生规划
- hdu2894解题报告 DeBruijin
- WPF新手实践8:MVVM Light Toolkit(八、Messenger进阶)