现有如下的ViewModel一枚
public class MainWindowViewModel:INotifyPropetyChanged{
public event PropertyChangedEventHandler PropertyChanged;
private bool isalive;
public bool IsAlive{
set{
isalive = value;
if(PropertyChanged != null){
PropertChanged(this,new PropertyChangedEventArgs(nameof(IsAlive));
}
}
}
}
通过IValueConverter接口可以实现控件可见的功能,但是若是这里如IsAlive一样的属性有多个如何呢?难道要针对每个IsAlive写上面的一对属性,字段通知方法吗?有没有什么办法能够减少这样的工作呢?请大神解答!
有简单一点的,但是只要你需要用到通知 至少都要有一句代码
封装RaisePropertyChanged方法 如下:
private void RaisePropertyChange(string name)
{
if(null!=this.PropertyChanged)
{
this.PropertyChange(this,new PropertyChangedEventArgs(name));
}
}
private bool isAlive;
public bool IsAlive
{
get{
return isAlive;
}
set
{
isAlive =value;
RaisePropertyChange("IsAlive");
}
}
至少要有这样一行代码 RaisePropertyChange("IsAlive");