我有一个Field
对象集合,每个Field
对象都实现INotifyPropertyChanged
。字段对象内部有各种属性,但是我有一个名为的属性IsApproved
,我需要监听任何更改。我的兴趣是,如果设置或取消设置该布尔标志,我需要得到通知,或者基本上我需要响应该事件(该属性将由 UI 通过 WPF 绑定设置或取消设置)。我可以为此使用 Reactive Extensions 吗,还是有点矫枉过正?如果不是,你会推荐什么?
代码:
public class Field : INotifyPropertyChanged
{
private bool _isApproved;
public bool IsApproved
{
get { return _isApproved; }
set
{
if (_isApproved == value)
return;
_isApproved = value;
RaisePropertyChanged(() => IsApproved);
}
}
///has lots of other properties.
}
在我的视图模型中,我有一个Field
s 的集合,我需要观察它们以查看IsApproved
属性何时设置或取消设置它们中的任何一个或全部。我怎样才能做到这一点?
编辑:我有一个字段集合,一个可观察的集合,它绑定到一个项目控件。字段内的每个项目都使用数据模板呈现,并使用模板选择器选择模板。我的 IsApproved 属性绑定到每个数据模板中的复选框。我的页面上有一个按钮,单击该按钮应设置所有已批准的复选框。我有另一个按钮可跟踪所有批准的状态,基本上如果一切都已批准,则应启用该按钮(提交),如果有该字段未获批准,则应禁用该按钮。