在引发的事件上更新多个属性



我正在努力了解如何在新数据可用时触发所有属性更新。

例如,我有两个属性:

    public string PropertyOne
    {
        get
        {
            return _propertyOne
        }
        set
        {
            _propertyOne= value;
            this.OnPropertyChanged();
        }
    }
    public string PropertyTwo
    {
        get
        {
            return _propertyTwo;
        }
        set
        {
            _propertyTwo = value;
            this.OnPropertyChanged();
        }
    }

当我收到关于新数据的通知时,我会分配我的属性:

Mediator<ViewModelMessages>.Instance.Register(ViewModelMessages.OnNewData, this.OnNewData);
private void OnNewData(object obj)
{
      PropertyOne = (MyClass)obj.propertyOne;
      PropertyTwo = (MyClass)obj.propertyTwo;
}

我想要的是这样的东西:

private MyClass _myClass;
private void OnNewData(object obj)
{
     _myClass = (MyClass)obj;
}
public string PropertyOne
{
    get
    {
         return _myClass.PropertyOne;
    }
    set
    {
         _myClass.PropertyOne = value;
         this.OnPropertyChanged();
 }
    }
 public string PropertyTwo
 {
     get
     {
         return _myClass.propertyTwo;
     }
     set
     {
         _myClass.propertyTwo = value;
         this.OnPropertyChanged();
     }
  }

因此,当新数据到达时,我的属性会自动更新。

您可以通过向OnPropertyChanged传递Empty字符串或null而不是属性名称来实现这一点,但请注意,在这种情况下,所有属性都会引发property changed。

相关内容

  • 没有找到相关文章

最新更新