public void AddDropdownItem(IDropdownItem <T> dropdownItem) { if (null == dropdownItem) { throw new ArgumentNullException("dropdownItem"); } dropdownItem.TransitionObject = TransitionObject; DropdownItems.Add(dropdownItem); }
private void SetSelectedDropdownItem(IDropdownItem <T> selectedItem) { if (selectedItem != SelectedDropdownItem) { //remove the old item RemoveItem(SelectedDropdownItem); if (null != selectedItem) { //set the new selected item _selectedDropdownItem = selectedItem?.DeepCopy() as IDropdownItem <T>; _selectedDropdownItem.Position = Position; } else { //set the selected item to null _selectedDropdownItem = null; } //clear out the current item Items.Clear(); //add the new item as the selected item if (null != selectedItem) { AddItem(selectedItem); } //add the expansion button if (null != DropButton) { if (null != SelectedDropdownItem) { DropButton.Layer = SelectedDropdownItem.Layer - 100; } AddItem(DropButton); } } }