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:  

    操作就是如此简单!

  • 相关阅读:
    *** 82 删除排序链表中的重复元素II
    83 删除排序链表中的重复元素
    61 旋转链表
    ASP.NET MVC3 ModelState.IsValid为false的问题
    ServletContext
    ServletConfig
    Servlet线程安全
    Servlet的一些细节(2)
    Servlet的一些细节(1)
    Servlet的接口实现类
  • 原文地址:https://www.cnblogs.com/jacle169/p/2810050.html
Copyright © 2011-2022 走看看