WPF新手实践8:MVVM Light Toolkit(八、Messenger进阶)

关键字:WPF .Net C# MVVM Light Toolkit 框架 Visual Studio 2010 VS2010 Expression Blend 4 入门 教程 新手 实践

八、Messenger进阶

在上一篇里,我用MVVM Light Toolkit的Messenger实现了View和ViewModel之间的通信。虽然解除了它们之间的强引用,但是当程序功能趋于复杂时,之前的实现方式可能会使消息变得不好管理。幸运的是,MVVM Light Toolkit内置了一些很方便的类和方法可以让我的代码变得清爽一些。

1、删除之前添加的MoveLoginInputFocusMessage类,新增一个名为Notifications的类用来存放简单消息定义。

2011052511170622.png

2、在LoginViewModel.cs中,修改两个MoveInputFocusTo方法,使用MVVM Light Toolkit内置的NotificationMessage作为传递的消息类型。

2011052511172736.png

对于LoginPage.xaml.cs中消息接收者的具体实现,也要做相应的修改。

2011052511174567.png

3、在LoginViewModel的UserID和Password属性(影响CanLogin()方法返回值的两个因素)中,删除之前添加的改变ToggleIsEnabled属性值的语句,并启用具有broadcast功能的RaisePropertyChanged()方法。

2011052511181490.png

4、在LoginViewModel的构造函数中,注册属性改变消息的接收者,并在其具体实现中,添加改变ToggleIsEnabled属性值的语句。

2011052511183623.png

2011052511185750.png

编译通过。

转载于:https://www.cnblogs.com/phoenixtrees/archive/2011/05/25/2056423.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值