NetDomainer 2016-07-21 08:49 采纳率: 20%
浏览 1114

WPF MVVM中多个自动属性如何更好地减少代码量?

现有如下的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写上面的一对属性,字段通知方法吗?有没有什么办法能够减少这样的工作呢?请大神解答!

  • 写回答

1条回答 默认 最新

  • 小彰 2016-08-02 09:24
    关注

    有简单一点的,但是只要你需要用到通知 至少都要有一句代码

    封装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");

    评论

报告相同问题?

悬赏问题

  • ¥15 MATLAB动图的问题
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名