C# Winfrom中数据的双向绑定(使用INotifyPropertyChanged)
在winfrom中也可以实现INotifyPropertyChanged接口
将需要绑定的字段写到一个类中,用这个类实现INotifyPropertyChanged接口
public class User : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyName)
{
var propertyChanged = this.PropertyChanged;
if (propertyChanged != null)
propertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
//这里只绑定一个字段
private string userID;
public string UserID
{
get => userID;
set
{
userID = value;
OnPropertyChanged("UserID");
}
}
}
在Winfrom的界面代码中进行数据绑定\
User user = new User();
private void Login_Load(object sender, EventArgs e)
{
tBoxUserID.DataBindings.Add("Text", user,"UserID");
}
以上代码实现两个功能:
①:当user.UserID的值发生变化时,实Winfrom界面上对应的TextBox的值也发生变化
②:Winfrom界面上的TextBox的值也发生变化时,user.UserID的值发生变化
实现了双向绑定
参考:https://www.cnblogs.com/xcong/p/3617688.html