public SHDObject(T @object, IObservable <Predicate <T> > visible = null, IObservable <Predicate <T> > enable = null, IConvertible id = null) { Object = @object; if (visible != null) { visible.Select(_ => _(Object)).StartWith(true).Subscribe(_ => IsVisible = true); } else { IsVisible = true; } if (enable != null) { enable.StartWith(_ => true).Select(_ => _(Object)).Subscribe(_ => IsEnabled = true); } else { IsEnabled = true; } DeleteCommand = new RelayCommand(() => { Deletions.OnNext(null); }); Id = id; }
public SHDObject(T @object, bool?expanded, bool?selected, bool? @checked, bool?visible, bool?enable, bool isReadOnly, IConvertible id = null) { Object = @object; IsVisible = visible; IsEnabled = enable; IsExpanded = expanded; IsSelected = selected; IsChecked = @checked; IsReadOnly = isReadOnly; DeleteCommand = new RelayCommand(() => { Deletions.OnNext(null); }); Id = id; }