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属性值的语句。

编译通过。
posted @ 2011-05-25 11:20  李凤桐  阅读(7102)  评论(10编辑  收藏  举报