Silverlight 简单拖曳
Webcast 上一个小Demo
private WrapPanel imageContainer = null;
private SolidColorBrush enterColor = new SolidColorBrush(Colors.DarkGray);
private SolidColorBrush LeaveColor = new SolidColorBrush(Colors.Transparent);
public MainPage(){InitializeComponent();
imageContainer = new WrapPanel() { Background = new SolidColorBrush(Colors.LightGray) };
scrvierwer.Content = imageContainer;
imageContainer.AllowDrop = true;imageContainer.Drop += new DragEventHandler(imageContainer_Drop);
}
void imageContainer_Drop(object sender, DragEventArgs e)
{FileInfo[] droppedfiles = e.Data.GetData(DataFormats.FileDrop) as FileInfo[];
foreach (FileInfo item in droppedfiles)
{if (IsSupportedImageFile(item.Extension.ToLower())){Border imagePlaceHolder = new Border()
{Child = CreateImage(item),
Margin = new Thickness(10.0),
Cursor = Cursors.Hand};
ToolTipService.SetToolTip(imagePlaceHolder, item.Name);imagePlaceHolder.MouseEnter += new MouseEventHandler(imagePlaceHolder_MouseEnter);
imagePlaceHolder.MouseLeave += new MouseEventHandler(imagePlaceHolder_MouseLeave);
imageContainer.Children.Add(imagePlaceHolder);
}
}
}
void imagePlaceHolder_MouseLeave(object sender, MouseEventArgs e)
{(sender as Border).Background = LeaveColor;
}
void imagePlaceHolder_MouseEnter(object sender, MouseEventArgs e)
{(sender as Border).Background = enterColor;
}
private bool IsSupportedImageFile(string extension)
{if (extension == ".jpg" || extension == ".png")
{return true;}
return false;}
private Image CreateImage(FileInfo droppedfile)
{using (FileStream filestreame = droppedfile.OpenRead())
{BitmapImage bitmapimage = new BitmapImage();
bitmapimage.SetSource(filestreame);
return new Image() { Source = bitmapimage, Width = 100, Margin = new Thickness(5.0) };
}
}
浙公网安备 33010602011771号