搭建简易MVVM项目
2012-09-14 10:38
169 查看
由于最近一直在学习Windows Phone相关知识,而伴随着WIN8的发布,新一代的编程使得很多语言使用唯一的核心库“Winmd”以及可以基于WINRT之上的AppStore环境设计。
而MVVM是一种架构模式,主要在WPF、Silverlight和WP7开发里使用,它的目标是从视图层移除几乎所有代码隐藏(code-behind)。交互设计师可以专注于使用XAML表达用户体验需求,然后创建和视图模型的绑定,而视图模型则是由应用程序开发者开发和维护的,最大好处之一是分离关注点,以便用户体验设计师和应用程序开发者可以并行工作。
稍微了解MVVM以后,我们就开始着手实现MVVM吧。实现的功能就挑选登录功能吧。
项目结构如下:
View Code
以上在绑定TextBox以及PasswordBox的时候,我们选择了TwoWay的方式,是为了在控件的值或LoginUser的值发生改变时,都能收到通知,使控件与LoginUser的值能达到同步。
另一方面,对于MVVM不足之处在于它对于UI操作比较简单的情况有点杀鸡用牛刀的感觉,数据绑定有点难以调试,以及大量使用数据绑定可能带来性能问题等等,虽然有着众多的不足,但是能理解它也是有好处的。
那么今天的简易MVVM就到这里啦,由于大部分的代码已经贴出,因此就不再提供源代码了,如有什么误解或者错误的观点还望指出,谢谢。
而MVVM是一种架构模式,主要在WPF、Silverlight和WP7开发里使用,它的目标是从视图层移除几乎所有代码隐藏(code-behind)。交互设计师可以专注于使用XAML表达用户体验需求,然后创建和视图模型的绑定,而视图模型则是由应用程序开发者开发和维护的,最大好处之一是分离关注点,以便用户体验设计师和应用程序开发者可以并行工作。
稍微了解MVVM以后,我们就开始着手实现MVVM吧。实现的功能就挑选登录功能吧。
项目结构如下:
View Code
<TextBlock Name="txtblkName" Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" Text="用户名"/> <TextBox Name="txtName" Grid.Row="0" Grid.Column="1" Grid.ColumnSpan="2" Text="{Binding Path=User.Name, Mode=TwoWay}"/> <TextBlock Name="txtblkPwd" Grid.Row="1" Grid.Column="0" VerticalAlignment="Center" Text="密码"/> <PasswordBox Name="txtPwd" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2" Password="{Binding Path=User.Password, Mode=TwoWay}" />
以上在绑定TextBox以及PasswordBox的时候,我们选择了TwoWay的方式,是为了在控件的值或LoginUser的值发生改变时,都能收到通知,使控件与LoginUser的值能达到同步。
另一方面,对于MVVM不足之处在于它对于UI操作比较简单的情况有点杀鸡用牛刀的感觉,数据绑定有点难以调试,以及大量使用数据绑定可能带来性能问题等等,虽然有着众多的不足,但是能理解它也是有好处的。
那么今天的简易MVVM就到这里啦,由于大部分的代码已经贴出,因此就不再提供源代码了,如有什么误解或者错误的观点还望指出,谢谢。
相关文章推荐
- 搭建简易MVVM项目
- Angularjs,WebAPI 搭建一个简易权限管理系统 —— WebAPI项目主体结构(四)
- MVVM项目实战之路-搭建一个登录界面
- MVVM项目实战之路-搭建一个登录界面
- 基于ReactiveCocoa搭建MVVM框架-环境配置与项目结构
- MVVM项目实战之路-搭建一个登录界面
- Extjs5.0(2):手动搭建MVVM架构项目
- 【学习笔记】rabbitmq 简易项目搭建
- Servlet+oracle MVC 架构 搭建简易购物车web项目---数据库设计
- Extjs5.0(3):利用官方工具搭建MVVM架构项目
- MVVM项目实战之路-搭建一个登录界面
- MVVM项目实战之路-搭建一个登录界面
- Android项目之旅一 简易Mp3播放器的功能设计及环境搭建
- MVVM项目实战之路-搭建一个登录界面
- Android项目之旅一 简易Mp3播放器的功能设计及环境搭建
- MVVM项目实战之路-搭建一个登录界面
- django小项目:搭建简易火车车票预订系统
- MVVM项目实战之路-搭建一个登录界面
- MVVM项目实战之路-搭建一个登录界面