WPF圆形动画按钮

效果图:

WPF圆形动画按钮

点击一级按钮,弹出二级按钮,点击二级按钮,显示图片;图片可滚动显示。

WPF圆形动画按钮

 

左键可实现拖拽功能,右键触发点击事件。可自行更改

核心代码: 

        private void Get_Buttons(int BtnNumber)
        {
            int a = 0;
            #region 新代码
            foreach (var item in dataList)
            {
                FileName = DataFiles[a].Substring(DataFiles[a].LastIndexOf('\\') + 1);
                a++;
                Image image = new Image();
                image.Source = SetImageSource(FileName + ".png");
                image.Tag = FileName;
                image.Width = image.Height = iconWidthAndHeight;
                image.SetValue(Canvas.LeftProperty, item.xPoint);
                image.SetValue(Canvas.TopProperty, item.yPoint);
                MenuCanvas.Children.Add(image);
                image.MouseLeftButtonDown += Image_MouseLeftButtonDown;
                if (a == BtnNumber)
                {
                    break;
                }
            }
            #endregion
        }

        private void Image_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            Image img = sender as Image;

            DataFiles = Directory.GetDirectories(Environment.CurrentDirectory + "\\内容\\"+ img.Tag);
            MenuCanvas.Children.Clear();
            Get_Buttons1(DataFiles.Length,img.Tag.ToString());
            viewHuanDong();
        }
        string fileName;
        private void Get_Buttons1(int BtnNumber,string FileName)
        {
            fileName = FileName;
            int a = 0;
            #region 新代码
            foreach (var item in dataList)
            {
                ImgName = DataFiles[a].Substring(DataFiles[a].LastIndexOf('\\') + 1);
                a++;
                Image image = new Image();
                image.Source = SetImageSource(ImgName + ".png");
                image.Tag = ImgName;
                
                image.Width = image.Height = iconWidthAndHeight;
                image.SetValue(Canvas.LeftProperty, item.xPoint);
                image.SetValue(Canvas.TopProperty, item.yPoint);
                MenuCanvas.Children.Add(image);
                image.MouseLeftButtonDown += Image_MouseLeftButtonDown1; ;
                if (a == BtnNumber)
                {
                    break;
                }
            }
            #endregion
        }

        private void Image_MouseLeftButtonDown1(object sender, MouseButtonEventArgs e)
        {
            Grid_Canvas.Children.Clear();
            Image img = sender as Image;
            Canvas canvas = new Canvas();
            ScrollViewer scroll = new ScrollViewer();
            WrapPanel wrap = new WrapPanel();
            ImgFiles = Directory.GetFiles(Environment.CurrentDirectory + "\\内容\\" + fileName + "\\" + img.Tag);
            foreach(var item in ImgFiles)
            {
                Image img1 = new Image();
                img1.Source=new BitmapImage( new Uri(item, UriKind.RelativeOrAbsolute));
                img1.Height = 600;
                img1.Width = 800;
                img1.Stretch = Stretch.Fill;
                wrap.Children.Add(img1);
            }
            Point p = Mouse.GetPosition(e.Source as Grid);
            scroll.Content = wrap;
            scroll.HorizontalScrollBarVisibility = ScrollBarVisibility.Visible;
            scroll.VerticalScrollBarVisibility = ScrollBarVisibility.Hidden;
            scroll.Width = 800;
            canvas.Children.Add(scroll);
            canvas.Width = 800;
            canvas.Height = 600;
            canvas.VerticalAlignment = VerticalAlignment.Top;
            canvas.HorizontalAlignment = HorizontalAlignment.Left;
            canvas.Margin = new Thickness(p.X, p.Y, 0, 0);
            Grid_Canvas.Children.Add(canvas);

            canvasHuanDong(canvas);

        }
下载地址:https://download.****.net/download/qq_29098553/12423196