private void Contains(object obj) { if (SelectedTree == null) { MessageBox.Show("No active tree", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } else { string result; View.ContainsWindow containsWindow = new View.ContainsWindow(); if (containsWindow.ShowDialog() == true) { result = (SelectedTree.Contains(containsWindow.Value) ? "Exists" : "Doesn`t exists!"); MessageBox.Show(result, "Result", MessageBoxButton.OK, MessageBoxImage.Asterisk); } else if (containsWindow.DialogResult.HasValue && !containsWindow.DialogResult.Value) { return; } else { MessageBox.Show("Invalid Operation", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } } }
private void GetMin(object obj) { try { MessageBox.Show("Minimum: " + SelectedTree.GetMin(), "INFO", MessageBoxButton.OK); } catch (NullReferenceException) { MessageBox.Show("No active tree", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
private void AddElementToTree(object obj) { try { this.SelectedTree.AddItem(Convert.ToDouble(obj)); SelectedTree.TreeString = SelectedTree.GetString(); } catch (NullReferenceException) { MessageBox.Show("You need to create tree first", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } catch (FormatException) { MessageBox.Show("Incorect input", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } //catch (Exception) { MessageBox.Show("Unknown error", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
private void RemoveElementFromTree(object obj) { try { if (obj != null) { this.SelectedTree.Remove(Convert.ToDouble(obj)); } SelectedTree.TreeString = null; SelectedTree.TreeString = SelectedTree.GetString(); } catch (NullReferenceException) { MessageBox.Show("No active tree", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } catch (Exception) { MessageBox.Show("Incorrect input", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
/// <summary> /// 将枚举名称转换为下拉选择数据 /// </summary> /// <returns></returns> public static List <SelectedTree> EnumTreeData(this Type enumType) { var data = new List <SelectedTree>(); const BindingFlags bindingFlags = BindingFlags.Public | BindingFlags.GetField | BindingFlags.DeclaredOnly | BindingFlags.Static; foreach (FieldInfo field in enumType.GetFields(bindingFlags)) { var fieldValue = field.GetRawConstantValue().ToString(); var filedName = GetDisplayName(field); var item = new SelectedTree() { Id = fieldValue, Name = filedName, ParentId = "0" }; data.Add(item); } return(data); }