WPF_MVVM_入门教程最终.docVIP

  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文档。上传文档
查看更多
PAGE PAGE 2 作者: Barry Lapthorn 假如你对C#已经有了比较好的了解,那么学习WPF不会太难。我学习WPF已经有一段时间了,但一直没有找到比较好的MVVM教程。希望这篇文章能达到这个目的。 在学习任何技术之前,你都会想知道“学了有什么好处”。在我看来,我看到的几乎所有的WPF教程都会有以下的一个或多个不足: 示例都是用XAML表示。 示例掩盖了那些可以让你使用起来更加方便的主要功能。 示例试图通过一些根本没什么用的知识点来炫耀WPF/XAML的技巧。 xxx 所以,为了处理这些问题,我写了这篇文章,基于那篇在Google里输入“WPF Tutorial”而得到的第一篇文章。这篇文章也许不是100%正确,或者不是“唯一解”,但它将讲明我在6个月前得到的体会的主要思想。 我会先快速地介绍一些主题,然后通过一个示例来解释或证明每一个要点。因此,我不想试图让GUI很漂亮,那不是本文的重点。 Note:由于这篇教程特别的长,为了简洁,我省略了很多代码,所以,为了更好的理解这文章,请下载zip代码包。运行环境(.net 4.0 / vs 2010)。 基本要点: WPF中,最重要的就是数据绑定(data binding)。通常,你有一些数据集合,你想要显示给用户,你就可以将数据绑定到XAML WPF有两部分,XAML部分是描述你的GUI和特效,code-behind部分的.cs代码用来联系XAML 最优雅同时也可能是最大限度地复用你的代码的方式就是使用‘MVVM’模式:Model, View, ViewModel。这个的目标就是确保你的View中cs代码最小化,应该都以XAML的形式来显示。 你要知道的主要知识点: 1. 用来存储你的数据的集合是ObservableCollection.而不是list,也不是dictionary,但可以是ObservableCollection 。单词“Observable(可观察的)”就是这里的主线:WPF窗口要有‘观察’你数据集合的能力。集合类要实现一些WPF要使用的必要接口。 2. 每一个WPF控件都有一个DataContext以及集合控件拥有一个ItemsSource属性。 3. INotifyPropertyChanged 接口将会在GUI与你的代码要传输数据时,大量的使用。 示例1:先做错之(大部分) 示例是开始的最好方式。我们将通过一个Song类来开始,而不是常用的Person类。我们可以将歌曲(Song)整理到唱片(Album)中,或者一个更大的集合,或者以艺术家(Artist)的方式来整理。以下是一个简单的Song类: public class Song { #region Members string _artistName; string _songTitle; #endregion #region Properties /// The artist name. Public string ArtistName { get { return _artistName; } set { _artistName = value; } } /// The song title. public string SongTitle { get { return _songTitle; } set { _songTitle = value; } } #endregion } 在WPF术语中,这就是我们的‘Model’,GUI就是我们的‘View’。神奇的地方在于,对它们俩之间进行数据绑定的是’ViewModel’,就是这个适配器,可以将我们的Model转化为WPF框架可以识别的东西。再次重申,这个Song类就是我们的’Model’。 由于我们创建的Song类是引用类型,在内存中进行复制是非常的轻便而且代价很低。我们可以也可以非常容易的创建我们的SongViewModel。然后,我们第一步要思考的是:我们要(可能)显示什么?假设我们只关心歌曲(song)的表演者,而不是歌曲名,那我们的SongViewModel就可以这样定义: public class SongViewModel { Song _song; public Song Song { get

文档评论(0)

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

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

1亿VIP精品文档

相关文档