public void AddCommandHandler() { var vm = new CommandViewModel(); Commands.Add(vm); vm.Model.CommandNumber = Commands.IndexOf(vm) + 1; vm.DeleteCommand = new DelegateCommand(DeleteCommandHandler); }
private void SetProfile(bool startup = false) { if (!startup) { PropertyChanged -= ViewModelChanged; Model.PropertyChanged -= ModelChanged; ((INotifyPropertyChanged)Commands).PropertyChanged -= CommandModelChanged; Commands.MemberPropertyChanged -= CommandModelChanged; } var settings = ConfigurationManager.AppSettings[SelectedProfile.Name]; var settingsArray = settings.Split(new string[] { "~~~" }, StringSplitOptions.None); Model = TeamNotifierLogic.Deserialize <TeamNotifierModel>(settingsArray[0]); Commands = new ObservableCollectionEx <CommandViewModel>(); for (var i = 1; i < settingsArray.Length; i++) { var cmd = TeamNotifierLogic.Deserialize <CommandModel>(settingsArray[i]); var cmdvm = new CommandViewModel(cmd); cmdvm.DeleteCommand = new DelegateCommand(DeleteCommandHandler); Commands.Add(cmdvm); } if (string.IsNullOrEmpty(Model.User)) { Model.User = Environment.UserName; } ((INotifyPropertyChanged)Commands).PropertyChanged += CommandModelChanged; Commands.MemberPropertyChanged += CommandModelChanged; PropertyChanged += ViewModelChanged; Model.PropertyChanged += ModelChanged; if (!startup) { RaisePropertyChanged("Commands"); Model.RaisePropertyChanged("Model"); } }