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