C# Winfrom中数据的双向绑定(使用INotifyPropertyChanged)

在WPF中新建项目是自动实现了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

posted @ 2024-08-28 21:45  HarryK  阅读(31)  评论(0编辑  收藏  举报