如何解决如何订阅SourceList.Count并将其强制转换为IObservable?
我创建ValidatableModelBase类,但遇到了一些麻烦。我需要订阅SourceCache的更改,并将Count集合转换为IObservable bool。我该怎么办?
private readonly SourceCache<ValidationResult,string> _results;
public IObservalbe<bool> IsValid { get; }
public ValidatableModelBase()
{
_results = new SourceCach<ValidationResult,string>(x => x.PropertyName);
//Doesn't work. I think because i dont .Subscribe() to changes?
IsValid = _results.Connect().IsEmpty();
}
upd:
HasErrors = collection.CountChanged.Subscribe(x => {Count = x;});
IsValid = this.WhenAnyValie(x => x.HasErrors).Select(x => x == 0);
解决方法
您可以执行以下操作:
var databasesValid = collectionOfReactiveObjects
.Connect().Count().Select(x => x == 0);
// Then you can convert that IObservable<bool> to a view model
// property declared as ObservableAsPropertyHelper<bool>.
_databasesValid = databasesValid.ToProperty(this,x => x.DatabasesValid);
您需要包括DynamicData.Aggregation
名称空间。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。