private void Add(AbilityResourceVM selectedAbility) { Ability newAbility = AbilityFactory.Create(selectedAbility.Model); AbilityVM newVM = CreateItem(newAbility); Abilities.Add(newVM); }
private AbilityVM CreateItem(Ability a) { AbilityVM vm = AbilityViewModelFactory.Create(a); vm.Removed += OnAbilityRemoved; vm.IsEditingChanged += OnAbilityIsEditingChanged; return(vm); }
private void OnAbilityIsEditingChanged(AbilityVM sender, EventArgs e) { if (sender.IsEditing) { // collapse all other abilities foreach (AbilityVM ability in Abilities.Where(a => a != sender)) { ability.IsEditing = false; } } }
private void OnAbilityRemoved(AbilityVM sender, EventArgs e) { sender.Removed -= OnAbilityRemoved; sender.IsEditingChanged -= OnAbilityIsEditingChanged; Abilities.Remove(sender); }