其实写这篇博文的时候我是拒绝的,因为这牵扯到一个高大上的东西——"框架"。一说起这个东西,很多朋友就感觉有点蒙了,尤其是编程新手。因为它不像在代码里面定义一个变量那么显而易见,它是需要在你的整个程序架构上体现出来的,并且对于框架来说,并没有什么固定的代码格式,你可以这样写,当然也可以那样写。只要最终可以达到同样的效果,各个模块之间能够体现这种框架的思想就OK。所以当你都是用MVVM框得到两份架写的相同需求的Demo看时,发现里面的很多代码都不一样,请不要惊讶,因为你正在接触一个很抽象的东西,这种东西有的时候还真得你需要自己挖空心思去琢磨一下,光靠别人给你讲还是不行的!

--------------------------------切入正题--------------------------------

在进行搭建自己的MVVM框架的时候你需要提起掌握一下知识(至少要熟悉,如果未达标,建议先自行脑补一下,我可能不会做到面面俱到):

1、熟练掌握数据绑定;

2、熟练使用委托;

3、对MVVM框架有一定的了解;

 --------------------------------在你决定继续要往下看的时候我会默认你已经对上述知识有所了解------------------------------

一:为页面绑定数据

 按照规范的MVVM框架来说,一个项目中至少要有要有三个文件夹:View、ViewModel、Model;这三个文件夹分别对应该框架的三个组成部分,这一点没什么好说的。针对Model中的一些属性而言,如果想具有属性通知的功能的话就需要继承INotifyPropertyChanged接口,并需要自定义一个函数用于触发对应的PropertyChanged事件,一般情况下我们都会把这一部分封装到一个类中,供其它类来继承它。这样就避免出现代码冗余的问题。示例代码如下所示:

 1
                public
                class ObservableObject : INotifyPropertyChanged

 2
                    {

 3
                public
                event PropertyChangedEventHandler PropertyChanged;

 4
                public
                void RaisePropertyChanged(string propertyName)

 5
                        {

 6
                if (PropertyChanged != null)

 7
                            {

 8                 PropertyChanged(this, new PropertyChangedEventArgs(propertyName));

 9
                            }

10
                        }

11     }
View Code

相关文章:

  • 2021-06-27
  • 2021-09-13
  • 2021-09-30
  • 2021-08-01
  • 2021-12-08
  • 2022-12-23
  • 2022-12-23
  • 2022-03-06
猜你喜欢
  • 2022-01-24
  • 2021-07-21
  • 2021-05-26
相关资源
相似解决方案