Ejemplo n.º 1
0
 public AwesomeMenu(Rect rect, List <AwesomMenuItem> menuItems, string addUri, string addUriHigtlighted, AwesomeMenuType menuType = AwesomeMenuType.AwesomeMenuTypeDefault)
 {
     this.Width            = rect.Width;
     this.Height           = rect.Height;
     this.MenuItems        = menuItems;
     this._addUri          = addUri;
     this._addUriHighlited = addUriHigtlighted;
     //this.MouseLeftButtonUp += Menu_MouseLeftButtonUp;
     this.Background = new SolidColorBrush(Colors.Transparent);
     this.Tap       -= AwesomeMenu_Tap;
     this.Tap       += AwesomeMenu_Tap;
     InitAddButton();
     InitMenuItem();
     //原来没有叫设置按钮角度属性
     //SetType(menuType);
     //现在有了更改一下代码
     Type = menuType;
     this.AwesomeMenuRadianType = AwesomeMenuForWindowsPhone.AwesomeMenuRadianType.AwesomeMenuRadian90;
 }
 public AwesomeMenu(Rect rect, List<AwesomMenuItem> menuItems, string addUri, string addUriHigtlighted, AwesomeMenuType menuType = AwesomeMenuType.AwesomeMenuTypeDefault)
 {
     this.Width = rect.Width;
     this.Height = rect.Height;
     this.MenuItems = menuItems;
     this._addUri = addUri;
     this._addUriHighlited = addUriHigtlighted;
     //this.MouseLeftButtonUp += Menu_MouseLeftButtonUp;
     this.Background = new SolidColorBrush(Colors.Transparent);
     this.Tap -= AwesomeMenu_Tap;
     this.Tap += AwesomeMenu_Tap;
     InitAddButton();
     InitMenuItem();
     //原来没有叫设置按钮角度属性
     //SetType(menuType);
     //现在有了更改一下代码
     Type = menuType;
     this.AwesomeMenuRadianType = AwesomeMenuForWindowsPhone.AwesomeMenuRadianType.AwesomeMenuRadian90;
 }
Ejemplo n.º 3
0
 public AwesomeMenu(Rect rect, List <AwesomMenuItem> menuItems, string addUri, string addUriHigtlighted, AwesomeMenuType menuType = AwesomeMenuType.AwesomeMenuTypeDefault)
 {
     this.Width               = rect.Width;
     this.Height              = rect.Height;
     this.MenuItems           = menuItems;
     this._addUri             = addUri;
     this._addUriHighlited    = addUriHigtlighted;
     this.Background          = new SolidColorBrush(Colors.Transparent);
     this.HorizontalAlignment = Windows.UI.Xaml.HorizontalAlignment.Left;
     this.VerticalAlignment   = Windows.UI.Xaml.VerticalAlignment.Top;
     this.Tapped             -= AwesomeMenu_Tapped;
     this.Tapped             += AwesomeMenu_Tapped;
     InitAddButton();
     InitMenuItem();
     //原来没有叫设置按钮角度属性
     //SetType(menuType);
     //现在有了更改一下代码
     Type = menuType;
     this.AwesomeMenuRadianType = AwesomeMenuRadianType.AwesomeMenuRadian90;
 }
Ejemplo n.º 4
0
        public void SetType(AwesomeMenuType menuType = AwesomeMenuType.AwesomeMenuTypeDefault)
        {
            Type = menuType;
            int  dx = 1;
            int  dy = 1;
            bool isTwoDirections = true;

            if (MenuItems != null)
            {
                switch (Type)
                {
                case AwesomeMenuType.AwesomeMenuTypeUpAndRight:
                    dx = 1;
                    dy = -1;
                    break;

                case AwesomeMenuType.AwesomeMenuTypeUpAndLeft:
                    dx = -1;
                    dy = -1;
                    break;

                case AwesomeMenuType.AwesomeMenuTypeDownAndRight:
                    dy = 1;
                    dx = 1;
                    break;

                case AwesomeMenuType.AwesomeMenuTypeDownAndLeft:
                    dy = 1;
                    dx = -1;
                    break;

                case AwesomeMenuType.AwesomeMenuTypeUp:
                    isTwoDirections = false;
                    dx = 0;
                    dy = -1;
                    break;

                case AwesomeMenuType.AwesomeMenuTypeDown:
                    isTwoDirections = false;
                    dx = 0;
                    dy = 1;
                    break;

                case AwesomeMenuType.AwesomeMenuTypeLeft:
                    isTwoDirections = false;
                    dx = -1;
                    dy = 0;
                    break;

                case AwesomeMenuType.AwesomeMenuTypeRight:
                    isTwoDirections = false; dx = 1; dy = 0;
                    break;

                default:
                    break;
                }

                int nCount = MenuItems.Count;
                for (int i = 0; i < nCount; i++)
                {
                    var item = MenuItems[i];
                    item.StratPoint = _startPoint;
                    if (isTwoDirections)
                    {
                        item.EndPoint  = CalulateDynamaticPoint(i, END_RADIUS, nCount, dx, dy);
                        item.NearPoint = CalulateDynamaticPoint(i, NEAR_RADIUS, nCount, dx, dy);
                        item.FarPoint  = CalulateDynamaticPoint(i, FAR_RADIUS, nCount, dx, dy);
                    }
                    else
                    {
                        var j = i + 1;
                        item.EndPoint  = new Point(_startPoint.X + dx * j * BETWEEN_RADIUS, _startPoint.Y + dy * j * BETWEEN_RADIUS);
                        item.NearPoint = new Point(_startPoint.X + dx * j * (BETWEEN_RADIUS - 15), _startPoint.Y + dy * j * (BETWEEN_RADIUS - 15));
                        item.FarPoint  = new Point(_startPoint.X + dx * j * (BETWEEN_RADIUS + 20), _startPoint.Y + dy * j * (BETWEEN_RADIUS + 20));
                    }
                    item.ItemTransfrom.TranslateX = item.StratPoint.X;
                    item.ItemTransfrom.TranslateY = item.StratPoint.Y;
                }
            }
        }
        public void SetType(AwesomeMenuType menuType = AwesomeMenuType.AwesomeMenuTypeDefault)
        {
            Type = menuType;
            int dx = 1;
            int dy = 1;
            bool isTwoDirections = true;
            if (MenuItems != null)
            {
                switch (Type)
                {
                    case AwesomeMenuType.AwesomeMenuTypeUpAndRight:
                        dx = 1;
                        dy = -1;
                        break;
                    case AwesomeMenuType.AwesomeMenuTypeUpAndLeft:
                        dx = -1;
                        dy = -1;
                        break;
                    case AwesomeMenuType.AwesomeMenuTypeDownAndRight:
                        dy = 1;
                        dx = 1;
                        break;
                    case AwesomeMenuType.AwesomeMenuTypeDownAndLeft:
                        dy = 1;
                        dx = -1;
                        break;
                    case AwesomeMenuType.AwesomeMenuTypeUp:
                        isTwoDirections = false;
                        dx = 0;
                        dy = -1;
                        break;
                    case AwesomeMenuType.AwesomeMenuTypeDown:
                        isTwoDirections = false;
                        dx = 0;
                        dy = 1;
                        break;
                    case AwesomeMenuType.AwesomeMenuTypeLeft:
                        isTwoDirections = false;
                        dx = -1;
                        dy = 0;
                        break;
                    case AwesomeMenuType.AwesomeMenuTypeRight:
                        isTwoDirections = false; dx = 1; dy = 0;
                        break;
                    default:
                        break;
                }

                int nCount = MenuItems.Count;
                for (int i = 0; i < nCount; i++)
                {
                    var item = MenuItems[i];
                    item.StratPoint = _startPoint;
                    if (isTwoDirections)
                    {
                        item.EndPoint = CalulateDynamaticPoint(i, END_RADIUS, nCount, dx, dy);
                        item.NearPoint = CalulateDynamaticPoint(i, NEAR_RADIUS, nCount, dx, dy);
                        item.FarPoint = CalulateDynamaticPoint(i, FAR_RADIUS, nCount, dx, dy);
                    }
                    else
                    {
                        var j = i + 1;
                        item.EndPoint = new Point(_startPoint.X + dx * j * BETWEEN_RADIUS, _startPoint.Y + dy * j * BETWEEN_RADIUS);
                        item.NearPoint = new Point(_startPoint.X + dx * j * (BETWEEN_RADIUS - 15), _startPoint.Y + dy * j * (BETWEEN_RADIUS - 15));
                        item.FarPoint = new Point(_startPoint.X + dx * j * (BETWEEN_RADIUS + 20), _startPoint.Y + dy * j * (BETWEEN_RADIUS + 20));
                    }
                    item.ItemTransfrom.TranslateX = item.StratPoint.X;
                    item.ItemTransfrom.TranslateY = item.StratPoint.Y;
                }

            }
        }