public void AddItem(DropDownMenuItem <T> item) { addMenuItem(item, internalItems.Count); internalItems.Add(item); if (listInitialized) { DropDownList.Add(item); } }
private void addMenuItem(DropDownMenuItem <T> item, int index) { item.PositionIndex = index; if (item.CanSelect) { item.Index = selectableItems.Count; item.Action = delegate { if (opened) { SelectedIndex = item.Index; } }; selectableItems.Add(item); itemDictionary[item.Value] = item.Index; } }