110,534
社区成员
发帖
与我相关
我的任务
分享
void button1_click(object sender, ...... e)
{
var f= new Form2();
this.DataChanged += (x, e1) =>
{
f.数据改了(this.TheData); //由Form1通知Form2
f.DataEdited += (y, e2) =>
{
MessageBox.Show("Form2的数据改了,是"+ f.EditData);
};
};
f.Show();
}
现在如果改为 MVVP,不过是把 Form1 和 Form2 的依赖关系改为它们的背后的 ViewModel 的依赖关系。例如void button1_click(object sender, ...... e)
{
var f= new Form2();
this.ViewMoel.DataChanged += (x, e1) =>
{
f.ViewModel.数据改了(this.TheData); //由Form1 的 ViewModel通知Form2 的 ViewModel
f.ViewModel.DataEdited += (y, e2) =>
{
MessageBox.Show("Form2的数据改了,是"+ f.ViewModel.EditData);
};
};
f.Show();
}
当然这里不过只是举例而已。具体两个界面对象之间什么结构关系,根据每一个系统的实际设计而定,不一定都是这样是在一个按钮事件中创建的。
但是基本概念不变,本来毫无技术可言,理解最基本的概念(MVVM 就是每一个界面背后都独立出来一个 ViewModel 以遍简化界面定义绑定)就足够了。无技术的东西为什么总是纠结呢?