示例#1
0
        private void __clickItem(EventContext context)
        {
            GButton item = ((GObject)context.data).asButton;

            if (item == null)
            {
                return;
            }

            if (item.grayed)
            {
                _list.selectedIndex = -1;
                return;
            }

            Controller c = item.GetController("checked");

            if (c != null && c.selectedIndex != 0)
            {
                if (c.selectedIndex == 1)
                {
                    c.selectedIndex = 2;
                }
                else
                {
                    c.selectedIndex = 1;
                }
            }

            if (hideOnClickItem)
            {
                if (_parentMenu != null)
                {
                    _parentMenu.Hide();
                }
                Hide();
            }

            item.DispatchEvent(EVENT_TYPE, item); //event data is for backward compatibility
        }