public CommandViewModel() { this.StateList = new ObservableCollection <StateViewModel>(); CurrentStateNum = 0; DeleteStateCommand = new RelayCommand <StateViewModel>((state) => { StateList.Remove(state); }); AddSuccessStateCommand = new RelayCommand(() => { var vm = new SuccessStateViewModel(); vm.Name = "State" + GetStateMaxNum(); this.StateList.Add(vm); }); AddScriptStateCommand = new RelayCommand(() => { var vm = new ScriptStateViewModel(); vm.Name = "State" + GetStateMaxNum(); this.StateList.Add(vm); }); AddProtocolStateCommand = new RelayCommand(() => { var vm = new ProtocolStateViewModel(); vm.Name = "State" + GetStateMaxNum(); this.StateList.Add(vm); }); UniqueId = Guid.NewGuid().ToString(); }