0

我想使用 Realm 覆盖以下属性,以便可以触发RaisePropertyChanged另一个属性:

public int Reps { get; set; }

这不起作用,因为 Realm 不会将它作为数据库中的列获取:

private int _reps;
public int Reps
{
    get => _reps;
    set
    {
        RaisePropertyChanged("Reps");
        RaisePropertyChanged("RepsInfo");
        _reps = value;
    }
}
public int Reps { get; set; }

它的价值RepsInfo如下所示:

public string SetRepInfo { get => $"{Sets}x{Reps}"; }

我想做的原因RaisePropertyChanged("RepsInfo")是因为我使用这个对象的所有地方在更新SetRepInfo时都没有得到Reps更新。

4

1 回答 1

2

您应该改写该OnPropertyChanged方法。改编文档中的示例,您需要以下内容:

protected override void OnPropertyChanged(string propertyName)
{
    if (propertyName == nameof(Reps))
    {
        RaisePropertyChanged(nameof(SetRepInfo));
    }
}
于 2018-07-15T20:19:55.097 回答