/// <summary>
 /// 选中某个Menu 参数传-1表示都不选中
 /// </summary>
 /// <param name="index">-1 表示清空选中情况</param>
 public void SetSelect(int index)
 {
     if (index < 0)
     {
         menuTree.SetSelection(new List <int>()
         {
         }, TreeViewSelectionOptions.RevealAndFrame);
         curMenuTreeItem = null;
         if (isPopup)
         {
             MenuPopup.Close();
         }
     }
     else
     {
         menuTree.SetSelection(new List <int>()
         {
             index
         }, TreeViewSelectionOptions.RevealAndFrame);
         var item = menuTree[index];
         if (curMenuTreeItem != item)
         {
             curMenuTreeItem = item;
             OnMenuItemSelectChange(curMenuTreeItem);
             if (isPopup)
             {
                 MenuPopup.Show(new Rect(150, 0, GetPopupWidth(), position.height), curMenuTreeItem);
             }
         }
     }
 }
        private void OnSelectItemClick()
        {
            var item = menuTree.GetSelectItem();

            if (item != null)
            {
                if (curMenuTreeItem != item)
                {
                    if (curMenuTreeItem != null)
                    {
                        curMenuTreeItem.OnHide();
                    }
                    curMenuTreeItem = item;
                    curMenuTreeItem.OnShow();
                    OnMenuItemSelectChange(curMenuTreeItem);
                    if (isPopup)
                    {
                        MenuPopup.Show(new Rect(150, -18, GetPopupWidth(), position.height), curMenuTreeItem);
                    }
                }
                else
                {
                    if (isPopup)
                    {
                        MenuPopup.Close();
                        SetSelect(-1);
                        if (curMenuTreeItem != null)
                        {
                            curMenuTreeItem.OnHide();
                        }
                        curMenuTreeItem = null;
                    }
                }
            }
        }
 public void OnDestroy()
 {
     Destroy();
     foreach (var item in menuTree)
     {
         (item as MenuTreeItem).OnDestroy();
     }
     menuTree = null;
     MenuPopup.Close();
 }
 void Start()
 {
     menuPopup.Close();
 }