我具有读写属性
private string _serialNumber;
public string SerialNumber
{
get => _serialNumber;
set => this.RaiseAndSetIfChanged(ref _serialNumber, value);
}
Product
属性更改时需要更新。为此,我使用WhenAnyValue
和BindTo
。
this.WhenAnyValue(x => x.Product)
.Where(x => x != null)
.Select(x => x.FirstOrDefault())
.BindTo(this, x => x.SerialNumber);
但是,我不确定这是否是最好的方法,因为我找不到使用WhenAnyValue
更新读写属性的示例。
有更好的解决方案吗?在这种情况下,我会错误地使用读写属性吗?
答案 0 :(得分:0)
您可以使用Observable As Property Helper来设置视图模型中属性的值。然后您想绑定到视图。
ObservableAsPropertyHelper<string> _serialNumber;
public string SerialNumber => _serialNumber.Value;
_serialNumber = this.WhenAnyValue(x => x.Product)
.Where(x => x != null)
.Select(x => x.FirstOrDefault()).ToProperty(this, x => SerialNumber);
然后将视图绑定到ViewModel.SerialNumber