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; }
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; }
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; } } }