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的类用来存放简单消息定义。
2、在LoginViewModel.cs中,修改两个MoveInputFocusTo方法,使用MVVM Light Toolkit内置的NotificationMessage作为传递的消息类型。
对于LoginPage.xaml.cs中消息接收者的具体实现,也要做相应的修改。
3、在LoginViewModel的UserID和Password属性(影响CanLogin()方法返回值的两个因素)中,删除之前添加的改变ToggleIsEnabled属性值的语句,并启用具有broadcast功能的RaisePropertyChanged()方法。
4、在LoginViewModel的构造函数中,注册属性改变消息的接收者,并在其具体实现中,添加改变ToggleIsEnabled属性值的语句。
编译通过。
作者:李凤桐;出处:http://www.cnblogs.com/phoenixtrees。