C#/.NET Winform绑定数据源后数据变化界面参数也改变
1、添加引用using System.ComponentModel;
2、数据源的实体类Model继承自:INotifyPropertyChanged
3、显式实现接口委托public event PropertyChangedEventHandler PropertyChanged = delegate { };
4、在数据改变时需要通知窗体的属性加上PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("xxx"));
5、调用实例
该实例只有Selected变化时窗体会跟随变化,其他属性不会
public class BindingModel: INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged = delegate { };
private bool _selectd;
/// <summary>
/// 是否选中
/// </summary>
public bool Selected {
get => _selectd;
set
{
_selectd = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Selected"));
}
}
/// <summary>
/// 序号
/// </summary>
public int RowIndex { get; set; }
/// <summary>
/// 商品ID
/// </summary>
public string ItemId { get; set; }
/// <summary>
/// 标题
/// </summary>
public string Title { get; set; }
/// <summary>
/// 访客数量
/// </summary>
public int VisitorNumber { get; set; }
/// <summary>
/// 浏览量
/// </summary>
public int PageViewsNumber { get; set; }
}