Silverlight 简单拖曳

Webcast 上一个小Demo

 

隐藏行号 复制代码 这是一段程序代码。
  1. private WrapPanel imageContainer = null;
    
  2. private SolidColorBrush enterColor = new SolidColorBrush(Colors.DarkGray);
    
  3. private SolidColorBrush LeaveColor = new SolidColorBrush(Colors.Transparent);
    
  4. public MainPage()
    
  5. {
    
  6.     InitializeComponent();
    
  7.     imageContainer = new WrapPanel() { Background = new SolidColorBrush(Colors.LightGray) };
    
  8.     scrvierwer.Content = imageContainer;
    
  9.     
    
  10.     imageContainer.AllowDrop = true;
    
  11.     imageContainer.Drop += new DragEventHandler(imageContainer_Drop);
    
  12. }
    
  13. void imageContainer_Drop(object sender, DragEventArgs e)
    
  14. {
    
  15.     FileInfo[] droppedfiles = e.Data.GetData(DataFormats.FileDrop) as FileInfo[];
    
  16.     foreach (FileInfo item in droppedfiles)
    
  17.     {
    
  18.         if (IsSupportedImageFile(item.Extension.ToLower()))
    
  19.         {
    
  20.             Border imagePlaceHolder = new Border()
    
  21.             {
    
  22.                 Child = CreateImage(item),
    
  23.                 Margin = new Thickness(10.0),
    
  24.                 Cursor = Cursors.Hand
    
  25.             };
    
  26.             ToolTipService.SetToolTip(imagePlaceHolder, item.Name);
    
  27.             imagePlaceHolder.MouseEnter += new MouseEventHandler(imagePlaceHolder_MouseEnter);
    
  28.             imagePlaceHolder.MouseLeave += new MouseEventHandler(imagePlaceHolder_MouseLeave);
    
  29.             imageContainer.Children.Add(imagePlaceHolder);
    
  30.         }
    
  31.     }
    
  32. }
    
  33. void imagePlaceHolder_MouseLeave(object sender, MouseEventArgs e)
    
  34. {
    
  35.     (sender as Border).Background = LeaveColor;
    
  36. }
    
  37. void imagePlaceHolder_MouseEnter(object sender, MouseEventArgs e)
    
  38. {
    
  39.     (sender as Border).Background = enterColor;
    
  40. }
    
  41. private bool IsSupportedImageFile(string extension)
    
  42. {
    
  43.     if (extension == ".jpg" || extension == ".png")
    
  44.     {
    
  45.         return true;
    
  46.     }
    
  47.     return false;
    
  48. }
    
  49. private Image CreateImage(FileInfo droppedfile)
    
  50. {
    
  51.     using (FileStream filestreame = droppedfile.OpenRead())
    
  52.     {
    
  53.         BitmapImage bitmapimage = new BitmapImage();
    
  54.         bitmapimage.SetSource(filestreame);
    
  55.         return new Image() { Source = bitmapimage, Width = 100, Margin = new Thickness(5.0) };
    
  56.     }
    
  57. }
    

 

 

download2_6_3

posted @ 2011-01-05 12:24  luckdv  阅读(442)  评论(0)    收藏  举报