【我们一起写框架】MVVM的WPF框架(二)—绑定
MVVM的特点之一是实现数据同步,即,前台页面修改了数据,后台的数据会同步更新。 上一篇我们已经一起编写了框架的基础结构,并且实现了ViewModel反向控制Xaml窗体。 那么现在就要开始实现数据同步了。 DataContext—数据上下文 在实现数据同步前,我们要了解一个知识点——DataContext。 WPF中每个UI都有一个Content和一个DataContext,那么Content和DataContext是什么呢? Content: Content是指页面内容,即我们编写的代码,或者认为它是展示的UI。 打个比方,Content就是HTML页面中的标签,如【<html></html】;那么,在WPF中Content是指的就是Xaml页面的标签了。 DataContext: DataContext是指页面中的数据内容,这部分内容只有运行了才存在,用过ASP.NET MVC的同学可以把它理解为MVC中的Model。(每个页面都有一个唯一的指定Model) 既然在WPF里DataContext就是MVC中的Model。那么,自然的,DataContext就要存储页面的ViewModel了,所以,我们为它赋值它自身对应的ViewModel。 现在,找到我们的BaseViewModel的构造函数,加入这行代码[UIElement.DataContext = this;]