internal void Set(EnumValue enumValue) { ignore_changes = true; Items.Clear(); if (enumValue.Items == null || enumValue.Items.Count == 0) { if (enumValue.EnumType != null) { if (enumValue.Items == null) { enumValue.Items = new Dictionary <int, string>(); } else { enumValue.Items.Clear(); } foreach (Enum x in Enum.GetValues(enumValue.EnumType)) { int value = (int)Convert.ChangeType(x, typeof(int)); if (!enumValue.Items.ContainsKey(value)) { enumValue.Items.Add(value, x.ToString()); } } } } if (enumValue.Items != null && enumValue.Items.Count > 0) { int idx = -1; foreach (KeyValuePair <int, string> pair in enumValue.Items) { idx++; ComboBoxEnumItem li = new ComboBoxEnumItem(pair.Value, pair.Key); Items.Add(li); if (enumValue.ValueInt == pair.Key) { SelectedIndex = idx; } } } ignore_changes = false; }
internal void Set(EnumValue enumValue) { ignore_changes = true; Items.Clear(); if (enumValue.Items == null || enumValue.Items.Count == 0) { if (enumValue.EnumType != null) { if (enumValue.Items == null) enumValue.Items = new Dictionary<int,string>(); else enumValue.Items.Clear(); foreach (Enum x in Enum.GetValues(enumValue.EnumType)) { int value = (int)Convert.ChangeType(x, typeof(int)); if(!enumValue.Items.ContainsKey(value)) enumValue.Items.Add(value, x.ToString()); } } } if (enumValue.Items != null && enumValue.Items.Count > 0) { int idx = -1; foreach (KeyValuePair<int,string> pair in enumValue.Items) { idx++; ComboBoxEnumItem li = new ComboBoxEnumItem(pair.Value, pair.Key); Items.Add(li); if (enumValue.ValueInt == pair.Key) SelectedIndex = idx; } } ignore_changes = false; }