//Устанавливаем имя тегу, если он не корневой и имя уникально среди детей родителя этого элемента public bool SetName(string name) { if (TagParent == null || TagParent.IsChildNameUnique(name)) { TagName = name; NotifyPropertyChangedfromChildrens(); return(true); } return(false); }
//Показывает окно на добавление тега. Если все данные введены и есть поддтверждение, //то новый элемент добавляется как дочерний элемент к целевому элементу private void AskUserToAddTag(TagItem target) { AddNewTagWindow confirmAdding = new AddNewTagWindow(this); if (confirmAdding.ShowDialog() == true) { if (confirmAdding.TextBoxValue.Length <= 0) { MessageBox.Show("Задано пустое имя.", "Ошибка"); } else if (!target.IsChildNameUnique(confirmAdding.TextBoxValue)) { MessageBox.Show("Такое имя уже есть среди детей родителя этого элемента.", "Ошибка"); } else if (Regex.IsMatch(confirmAdding.TextBoxValue, "[^a-zA-Zа-яА-Я0-9]")) { MessageBox.Show("Найдены недопустимые символы. Используйте только алфавиты кириллицы и латиницы, а так же цифры", "Ошибка"); } else { isUnsavedData = true; switch (confirmAdding.SelectedType) { case "None": target.AddChild(confirmAdding.TextBoxValue, null); break; case "Bool": target.AddChild(confirmAdding.TextBoxValue, false); break; case "Int": target.AddChild(confirmAdding.TextBoxValue, 0); break; case "Double": target.AddChild(confirmAdding.TextBoxValue, 0.0); break; } } } }