关键字: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属性值的语句。

编译通过。

作者: 李凤桐 发表于 2011-05-25 11:20 原文链接

推荐.NET配套的通用数据层ORM框架:CYQ.Data 通用数据层框架
新浪微博粉丝精灵,刷粉丝、刷评论、刷转发、企业商家微博营销必备工具"