예제 #1
0
        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;
        }
예제 #2
0
        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;
        }