C#中,实现INotifyPropertyChanged接口问题
我在自己的项目中,定义了很多类,比如说类A,类B...,这些类中已经存在继承关系,每个类都有很多属性。我在窗体空间中绑定了类A生成对象的属性,我要实现属性变化时自动更新U...
我在自己的项目中,定义了很多类,比如说类A,类B...,这些类中已经存在继承关系,每个类都有很多属性。我在窗体空间中绑定了类A生成对象的属性,我要实现属性变化时自动更新UI,就需要实现INotifyPropertyChanged接口,难道我要在每个类中都要去写一遍如下的代码段吗?
public class IMyPropertyChanged : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public void NotifyPropertyChanged(string propertyName)
{
if (this.PropertyChanged != null)
{
this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
public static class IMyPropertyChangedEX
{
public static void NotifyPropertyChanged<T, TProperty>(this T iMyPropertyChanged,
Expression<Func<T, TProperty>> expression) where T : IMyPropertyChanged
{
var memberExpression = expression.Body as MemberExpression;
if (memberExpression != null)
{
string propertyName = memberExpression.Member.Name;
iMyPropertyChanged.NotifyPropertyChanged(propertyName);
}
else
throw new NotImplementedException();
}
} 展开
public class IMyPropertyChanged : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public void NotifyPropertyChanged(string propertyName)
{
if (this.PropertyChanged != null)
{
this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
public static class IMyPropertyChangedEX
{
public static void NotifyPropertyChanged<T, TProperty>(this T iMyPropertyChanged,
Expression<Func<T, TProperty>> expression) where T : IMyPropertyChanged
{
var memberExpression = expression.Body as MemberExpression;
if (memberExpression != null)
{
string propertyName = memberExpression.Member.Name;
iMyPropertyChanged.NotifyPropertyChanged(propertyName);
}
else
throw new NotImplementedException();
}
} 展开
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
单片机,即单片微控制器,也称为单片微型计算机,是将中央处理器(CPU)、存储器(ROM,RAM)、输入/输出接口和其他功能部件集成在一块 在一个小块的集成电路上,从而实现对整个电路或系统的数字式控制。单片机不是完成某一个逻辑功能的芯片,而是...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询