使用MVVM设计模式.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用MVVM设计模式.docx

这是我第一篇关于设计模式方面的文章,以前除了对单例模式等几个常用的模式有所研究之外,对设计模式不是太重视,总觉得要到一定的程度才需要接触, 最近的项目中使用了MVVM模式,所以这段时间查阅了大量这方面模式的文章,理论上的东西大家都说的比较好,这里我也不大谈MVVM模式的优势了,只是美中不足的是大部分给出的示例中,对于一个没有用过MVVM模式的人而言,这些例子总是给人一种摸不着头绪的感觉,所以我想将我学习MVVM的过程一步步写下来,希望对于和我一样,刚刚接触MVVM这个模式的人有一点点帮助。如果你不知道MVVM模式,我建议你先了解一下MVVM模式,至少要知道实现该模式的意图是什么。那么我主要通过我认为是已经算是比较简单的例子进行讲解这个模式,当然后面我们会在这个例子的基础上一步一步的进行扩展。先来看一看我们的项目架构:很典型的MVVM的分层方式我们先来构建Model,首先在Person.cs中简单声明了一个类型 public class Person { public int age { get; set; } public string name { get; set;} }类型定义好后,我们在Persons.cs中得到一个Person的集合 public class Persons { public ListPerson person; public ListPerson getPerson() { person = new ListPerson() { new Person{name = Tom, age = 21 }, new Person{name = Jack, age = 22 }, new Person{name = Rose, age = 23 }, }; return person; } }那么这里我们就简单的完成了Model的工作,下面开始完成ViewModel部分的工作 public class PageViewModel { public ListPerson Human { get; set; } public PageViewModel() { Human = new Persons().getPerson(); } }ViewModel也设计的很简单,只是简单的获取了之前定义的集合。下面就是PageView部分了,这里用DataGrid进行显示数据 data:DataGrid AutoGenerateColumns=False Height=200 ItemsSource={Binding Path=Human} HorizontalAlignment=Left Margin=36,51,0,0 Name=dataGrid1 VerticalAlignment=Top Width=200 data:DataGrid.Columns data:DataGridTemplateColumn data:DataGridTemplateColumn.CellTemplate DataTemplate StackPanel TextBlock Height=23 HorizontalAlignment=Left Name=textBlock1 Text={Binding name} VerticalAlignment=Top / TextBlock Height=23 HorizontalAlignment=Left Name=textBlock2 Text={Binding age} VerticalAlignment=Top / /StackPanel /DataTemplate /data:DataGridTemplateColumn.CellTemplate /data:DataGridTemplateColumn /data:DataGrid.Columns /data:DataGrid这里我们将DataGrid的源设为Human,这样我们就完成了MVVM模式各个层次的初步构建,关键的问题是怎样将这几个部分有效的联系起来我们将PageView,PageViewModel引入到MainPage中 UserControl x:Class=UseMVVMInApp.MainPage xmlns=/winfx/2006/xaml/presentation/winfx/2006/xaml/presentation xmlns:x=/winfx/2006/xaml/winfx/2006/xaml xmlns:d=/expression/blend/2008/expression/blend/2008 xmlns:mc=/markup-compatibility/2006/markup-compati

文档评论(0)

xx88606 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档