Data binding 使用INotifyPropertyChanged(.Net)的数据绑定

Data binding 使用INotifyPropertyChanged(.Net)的数据绑定,data-binding,mvp,inotifypropertychanged,Data Binding,Mvp,Inotifypropertychanged,我正试图找到一种在经典Winforms中实现MVP的好方法,我带来的几个解决方案(例如)谈到了在模型和视图之间使用数据绑定。我以前从未使用过数据绑定,所以我想试试 问题是,我无法找到如何使用INotifyPropertyChanged进行简单绑定(例如,我的模型类中的字符串到表单上的文本框),正如上面文章所建议的那样。我想我已经解决了(这是在表单中,其中“model”是我的model类的一个实例): 然而,我很快意识到这根本没有使用INotifyPropertyChanged——无论我是否在我的

我正试图找到一种在经典Winforms中实现MVP的好方法,我带来的几个解决方案(例如)谈到了在模型和视图之间使用数据绑定。我以前从未使用过数据绑定,所以我想试试

问题是,我无法找到如何使用INotifyPropertyChanged进行简单绑定(例如,我的模型类中的字符串到表单上的文本框),正如上面文章所建议的那样。我想我已经解决了(这是在表单中,其中“model”是我的model类的一个实例):

然而,我很快意识到这根本没有使用INotifyPropertyChanged——无论我是否在我的模型上实现该接口,它都可以正常工作。这本身不是一个问题,但它没有按我希望的方式工作,主要问题是它是双向绑定(我只想从对象绑定到表单)

我假设使用INotifyPropertyChanged有一种不同的绑定方式,或者如上所述的绑定可以设置为只在一个方向上工作-这里有人可以帮忙吗,或者给我举一个不错的例子

我将.NET3.5用于经典winforms,而不是WPF


谢谢

事实证明,上述情况有点像是在转移视线。发生的事情是,我从一个文本框绑定到模型,然后从模型绑定到另一个文本框。如果我直接更新模型,如果不实现INotifyPropertyChanged,它将无法工作


至于双向绑定,我认为如果使用这种方法,就必须接受它。如果你不想那样做,就咬紧牙关,使用MVP的“被动视图”风格。

事实证明,上述情况有点让人费解。发生的事情是,我从一个文本框绑定到模型,然后从模型绑定到另一个文本框。如果我直接更新模型,如果不实现INotifyPropertyChanged,它将无法工作

至于双向绑定,我认为如果使用这种方法,就必须接受它。如果你不想这样,就咬紧牙关,使用MVP的“被动视图”风格

txtModelName.DataBindings.Add(new Binding("Text", model, "Name"));