示例#1
0
        public TriggerVm(Trigger trigger, IEnumerable <Signal> avalibleSignals)
        {
            IS_SAVED         = false;
            _trigger         = trigger;
            _avalibleSignals = avalibleSignals;

            //The trigger will always start with one state initially
            _triggerStateDataModels = new List <TriggerStateDataModel>();
            _numberOfStates         = 1;
            _triggerStateDataModels.Add(new TriggerStateDataModel(_avalibleSignals, _numberOfStates));

            var las = new TriggerStateDataModel(_avalibleSignals, 2);

            ObservableTriggerStates = new ListCollectionView(_triggerStateDataModels);

            _saveCommand = new DelegateCommand <string>(
                (s) => { SaveTrigger(); },      //Execute
                (s) => { return(CanSave()); }   //CanExecute
                );

            _addCommand = new DelegateCommand <string>(
                (s) => { AddState(); },     //Execute
                (s) => { return(true); }    //CanExecute
                );

            _removeCommand = new DelegateCommand <string>(
                (s) => { RemoveState(); },              //Execute
                (s) => { return(_numberOfStates > 1); } //CanExecute
                );
        }
        public TriggerVm(Trigger trigger, IEnumerable<Signal> avalibleSignals)
        {
            IS_SAVED = false;
            _trigger = trigger;
            _avalibleSignals = avalibleSignals;

            //The trigger will always start with one state initially
            _triggerStateDataModels = new List<TriggerStateDataModel>();
            _numberOfStates = 1;
            _triggerStateDataModels.Add(new TriggerStateDataModel(_avalibleSignals, _numberOfStates));

            var las = new TriggerStateDataModel(_avalibleSignals, 2);
            PropertyChanged += TriggerVm_PropertyChanged;

            ObservableTriggerStates = new ListCollectionView(_triggerStateDataModels);

            _saveCommand = new DelegateCommand<string>(
                     (s) => { SaveTrigger(); }, //Execute
                     (s) => { return CanSave(); } //CanExecute
                     );

            _addCommand = new DelegateCommand<string>(
                    (s) => { AddState(); }, //Execute
                    (s) => { return true; } //CanExecute
                    );

            _removeCommand = new DelegateCommand<string>(
                    (s) => { RemoveState(); }, //Execute
                    (s) => { return _numberOfStates > 1; } //CanExecute
                    );
        }