zoukankan      html  css  js  c++  java
  • silverlight 4拖放支持

    silverlight 4其中一个新功能就是拖放支持。而且使用相当简易。

    通过三个事件基本上把所有的拖放操作都管理自如。

    1:  //拖?放?完ê成é事?件t
    2:  media.Drop += doDrop;
    3:  //拖?放?产ú生ú时±事?件t
    4:  media.DragEnter += doDragEnter;
    5:  //拖?放?结á束?时±事?件t
    6:  media.DragLeave += doDragLeave;
    7:  

    在Drop事件中。你还可以通过e.Data取得拖放到silverlight的文件集合,通过以下代码取得文件集合:

    1:  IDataObject dataObject = e.Data as IDataObject;
    2:  FileInfo[] files = dataObject.GetData( DataFormats.FileDrop ) as FileInfo[];
    3:  

    取得files后我可以用递归去列举出所有的文件:

    1:  foreach ( FileInfo file in files )
    2:  {}
    3:  

    其次我们取得FileInfo后可以通过拖放文件的扩展名去做相应的操作。以下演示如果拖放接收到的是一个xaml文件,我将尝试把这个xaml文件转换成一个UIElement元素:

     1:  if ( file.Extension.Equals( ".xaml" ) )
     2:  {
     3:    string contents;
     4:    using ( Stream stream = file.OpenRead() )
     5:    {
     6:      using ( StreamReader reader = new StreamReader( stream ) )
     7:      {
     8:        contents = reader.ReadToEnd();
     9:      }
    10:    }
    11:    UIElement uiElement = XamlReader.Load( contents ) as UIElement;
    12:    this.xamlViewer.Children.Add( uiElement );
    13:  }
    14:  

    操作就是如此简单!

  • 相关阅读:
    BZOJ1912 [Apio2010]patrol 巡逻
    BZOJ2432 [Noi2011]兔农
    BZOJ1010 [HNOI2008]玩具装箱toy
    BZOJ3240 [Noi2013]矩阵游戏
    洛谷【P1303】A*B Problem
    洛谷【2142】高精度减法
    洛谷【P1100】高低位交换
    OIer应该知道的二进制知识
    洛谷【P3908】异或之和
    洛谷【P2431】正妹吃月饼
  • 原文地址:https://www.cnblogs.com/jacle169/p/2810050.html
Copyright © 2011-2022 走看看