0

我的问题是我的 WPF 应用程序中有三个相互依赖的属性。我也为该类实现了 InotifyPropertyChanged。我不确定如何根据其他属性更新第二个属性。

例子:

属性:ActualValue、ChangedValue、Change

ActualValue 是 Fixed,可以更新 ChangedValue 和 Change。这意味着如果我更新 ChangedValue,Change 会像 (ActualValue-ChangedValue) 一样计算并设置。并且当 Change 更新时,ChangedValue 将根据 ActualValue 和 Change 进行计算。

4

1 回答 1

1

您可以将逻辑放在其他人所依赖的属性的设置器中。由于它是循环依赖,只需确保在设置器内部更改私有变量 - 不要使用属性设置器,因为这会创建无限循环。像这样:

private string _change, _changedValue;

public string ChangedValue {
    set { 
        _changedValue = value;
        _change = ActualValue - _changedValue;
        NotifyPropertyChanged("ChangedValue");
        NotifyPropertyChanged("Change");
    }
}


public string Change {
    set { 
        _change = value;
        _changedValue = ActualValue - _change;
        NotifyPropertyChanged("Change");
        NotifyPropertyChanged("ChangedValue");
    }
}
于 2012-05-17T04:33:26.477 回答