您的位置:首页 > 其它

搭建简易MVVM项目

2012-09-14 10:38 169 查看
  由于最近一直在学习Windows Phone相关知识,而伴随着WIN8的发布,新一代的编程使得很多语言使用唯一的核心库“Winmd”以及可以基于WINRT之上的AppStore环境设计。

  而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就到这里啦,由于大部分的代码已经贴出,因此就不再提供源代码了,如有什么误解或者错误的观点还望指出,谢谢。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: