prism项目搭建 wpf_WPF MVVM使用prism4.1搭建

MVVM即Model-View-ViewModel,MVVM模式与MVP(Model-View-Presenter)模式相似,主要目的是分离视图(View)和模型(Model),具有低耦合、可重用性、独立开发、可测试性等优点。

MVVM框架有很多,开源的主要有:

PRISM:由微软提供,和MEF/Unity一起用于依赖注入,支持组合命令,可以扩展。MSDN上有详细的教程和演练。

MVVM Light Toolkit:有visual Studio和Expression Blend的项目和项的模板。更多信息请看这里,另外可以参考VS和Expression Blend的使用教程。

Caliburn Micro:支持视图模型先行(ViewModel-First)和视图先行(View-First)两种开发方式,通过co-routine支持异步编程。

Simple MVVM Toolkit:提供VS项目和项的模板,依赖注入,支持深拷贝以及模型和视图模型之间的属性关联。

Catel:包含项目和项的模板,用户控件和企业类库。支持动态视图模型注入,视图模型的延迟加载和验证。还支持WP7专用的视图模型服务。

闭源框架主要有:

Intersoft ClientUI:付费的,只支持WPF和Silverlight,但是,除了MVVM框架,它还提供其它一些特性。

Vidyano:免费但不开源。带有实体映射/虚拟持久化对象(数据容器),业务规则以及内置基于ACL的安全特性。

今天我使用的是微软提供的Prism4.1搭建的小测试。

首先建了个WPF项目,项目目录结构如图

Models 存放的是数据模型

Service存放的是业务逻辑

ViewModels存放的便是视图模型

Views存放WPF窗口

在Models文件夹中创建一个用户模型User.cs

usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceTest.Wpf.Mvvm.Models

{classUser

{///

///用户名///

public string Nameword { get; set; }///

///密码///

public string Password { get; set; }

}

}

在Services文件夹中添加用户的业务逻辑UserService.cs,因为自己写这个程序重点是学习MVVM,所以这里就简单写了一下

usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceTest.Wpf.Mvvm.Services

{classUserService

{///

///获取所有用户方法///

///

public ListGetAllUser()

{

List users = new List();for (int i = 0; i < 3; i++)

{

Models.User user= newModels.User();

user.Nameword= "用户" +i;

user.Password= "密码" +i;

users.Add(user);

}returnusers;

}

}

}

在ViewModels中创建主窗口的视图模型MainWindowViewModel.cs,这个地方要添加引用Microsoft.Practices.Prism.dll,我把它放在libs中了

//***************************************************//

//文件名(FileName) : MainWindowViewModel.cs//

//作者(Author) : zsm//

//创建时间(CreateAt): 2013-09-03 16:17:29//

//描述(Description) : 主窗口ViewModel//

//***************************************************

usingMicrosoft.Practices.Prism.Commands;usingMicrosoft.Practices.Prism.ViewModel;usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceTest.Wpf.Mvvm.ViewModels

{classMainWindowViewModel : NotificationObject

{///

///用户List///

private Listusers;public ListUsers

{get { returnusers; }set{

users=value;

RaisePropertyChanged("Users");

}

}///

///程序名///

public string AppName { get; set; }///

///电话///

private stringphone;public stringPhone

{get { returnphone; }set{

phone=value;

RaisePropertyChanged("Phone");

}

}///

///获取所有用户命令///

public DelegateCommand GetAllUsersCommand { get; set; }///

///构造初始化///

publicMainWindowViewModel()

{

AppName= "WPF MVVM 模式测试";

Phone= "123456";

GetAllUsersCommand= new DelegateCommand(newAction(GetAllUsersCommandExecute));

}///

///获取所有用户命令执行方法///

private voidGetAllUsersCommandExecute()

{

Phone= Phone.Equals("123456") ? "1234567" : "123456";

Services.UserService userService= newServices.UserService();

Users=userService.GetAllUser();

}

}

}

MainWindow.xaml页面的设计是

然后在MainWindow的交互代码中绑定ViewModel

usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows;usingSystem.Windows.Controls;usingSystem.Windows.Data;usingSystem.Windows.Documents;usingSystem.Windows.Input;usingSystem.Windows.Media;usingSystem.Windows.Media.Imaging;usingSystem.Windows.Navigation;usingSystem.Windows.Shapes;namespaceTest.Wpf.Mvvm

{///

///MainWindow.xaml 的交互逻辑///

public partial classMainWindow : Window

{publicMainWindow()

{

InitializeComponent();this.DataContext = newViewModels.MainWindowViewModel();//绑定ViewModel

}

}

}

运行一下就可以了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
prism7.1.0.431_wpf_官方中文文档是指Prism开发框架的WPF版本的官方中文文档。下面我将用300字回答有关该文档的问题。 Prism是一个用于构建模块化、可扩展和可维护的WPF应用程序的开发框架。其目标是帮助开发人员更容易地通过解耦、组合和重用来构建高质量的应用程序。Prism提供了一套基于MVVM模式的开发指南和工具,使开发人员能够更加高效地开发WPF应用程序。 prism7.1.0.431_wpf_官方中文文档是一份由Prism团队编写的WPF版本的官方中文文档。该文档提供了对Prism开发框架的全面介绍和详细解释,包括框架的概述、基本概念、核心组件和开发技巧等内容。 通过阅读该文档,开发人员可以了解Prism框架的核心概念,例如依赖注入、模块化、命令和导航等。文档还提供了丰富的实例和代码段,使开发人员能够更好地理解和应用这些概念。 此外,该文档还介绍了Prism框架的高级特性,例如界面交互、事件聚合器、模块间通信和异常处理等。开发人员可以通过这些特性来构建更加灵活和可扩展的WPF应用程序。 总之,prism7.1.0.431_wpf_官方中文文档是一份重要的参考资料,对于需要使用Prism框架进行WPF应用程序开发的开发人员来说,它提供了全面而详细的指导和解释,可以帮助开发人员更好地理解和应用Prism框架,提高开发效率和应用程序质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值