Esempio n. 1
0
 public void AddDropdownItem(IDropdownItem <T> dropdownItem)
 {
     if (null == dropdownItem)
     {
         throw new ArgumentNullException("dropdownItem");
     }
     dropdownItem.TransitionObject = TransitionObject;
     DropdownItems.Add(dropdownItem);
 }
Esempio n. 2
0
        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);
                }
            }
        }