CozyRSS开发记录12-MVVM,绑定RSS源和数据

时间:2022-03-12 11:48:33

CozyRSS开发记录12-MVVM,绑定RSS源和数据

1、引入MvvmLight

MVVM最近貌似在前端那块也挺火的。据说,WPF的程序如果不用MVVM,那跟MFC和winform的,也没啥区别。用上MVVM,程序瞬间高大上。MVVM的好处和介绍,网上多得是,这里也不多说,推荐一篇比较好的文章:

http://www.codeproject.com/Articles/165368/WPF-MVVM-Quick-Start-Tutorial

MVVM相关的库也很多,比较有名的有:Prism、ReactiveUI、MvvmLight、Caliburn.Micro,它们之间的对比什么的,网上有一些介绍,总而言之,就是各有优劣。

我在CozyRSS里选用的是MvvmLight,原因是:

A、轻量

B、好用,有各种模版

C、开源跨平台

同样的,我们用nuget把MvvmLight导入到工程中,然后绑定一项文本:

CozyRSS开发记录12-MVVM,绑定RSS源和数据

CozyRSS开发记录12-MVVM,绑定RSS源和数据

CozyRSS开发记录12-MVVM,绑定RSS源和数据

2、绑定RSS源列表

接下来,我们把列表和列表项也绑定到viewmodel:

CozyRSS开发记录12-MVVM,绑定RSS源和数据

CozyRSS开发记录12-MVVM,绑定RSS源和数据

CozyRSS开发记录12-MVVM,绑定RSS源和数据

最后,让FeedManageService读取到数据,就能正常的显示了:

CozyRSS开发记录12-MVVM,绑定RSS源和数据

3、删除一项RSS源的命令和消息

响应每一项的删除,我们将删除按钮绑定到命令:

CozyRSS开发记录12-MVVM,绑定RSS源和数据

命令里除了删除自己外,再发消息通知列表的vm来删除显示项:

CozyRSS开发记录12-MVVM,绑定RSS源和数据

CozyRSS开发记录12-MVVM,绑定RSS源和数据

这样,删除RSS源的操作也就能正常执行了。