silverlight   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Silverlight实用窍门系列:42.读取拖动到控件上的外部txt和jpg文件,多外部文件的拖动大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

        本实例将读取拖动到Silverlight的ListBox控件中的txt文件或者Jpg文件。在本实例中将讲如果通过UIelementA.Drop事 件获取到拖动到UIelementA上的文件的相关名称以及路径等信息,以处理多个外部文件拖动到Silverlight中的相关一些小技巧的应用和操 作。         在本例中我们设置外部文件拖动到ListBox中去,首先我们要设置List

        本实例将读取拖动到Silverlight的ListBox控件中的txt文件或者Jpg文件在本实例中将讲如果通过UIelementA.Drop事 件获取到拖动到UIelementA上的文件的相关名称以及路径等信息,以处理多个外部文件拖动到Silverlight中的相关一些小技巧的应用和操 作。

        在本例中我们设置外部文件拖动到ListBox中去,首先我们要设置ListBox的AllowDrop="True",再添加一个Drop事件 Drop="listBox1_Drop",这样在外部文件拖动到ListBox中的时候可以触发Drop事件。

        首先我们来看MainPage.xaml代码如下所示:

 
 
  1. <Grid x:Name="LayoutRoot" BACkground="White" Width="600"
  2.     <StackPanel HorizontalAlignment="Left" VerticalAlignment="Top" Width="600"  
  3.                 Orientation="Horizontal"
  4.         <ListBox Name="listBox1" BACkground="AliceBlue" Width="240" 
  5.                  HorizontalAlignment="Left" VerticalAlignment="Top"  
  6.                  AllowDrop="True" Height="400" Drop="listBox1_Drop"
  7.         </ListBox
  8.         <TextBlock Height="149" HorizontalAlignment="Left"  
  9.                    Name="textBlock1" VerticalAlignment="Top"  
  10.                    Width="323" textwrapping="Wrap" /> 
  11.     </StackPanel> 
  12.         <Image Height="238" Name="image1" HorizontalAlignment="Left" 
  13.                VerticalAlignment="Top" Margin="240 160 0 0" Stretch="Fill" 
  14.      Width="320" source="/SLDragFile;component/Images/1_24573_f93ae69954e2e1d.jpg" /> 
  15. </Grid> 
 

       上面有一个TextBlock显示读取到的Txt文件内容,还有一个Image控件显示读取到的图片内容。下面我们看MainPage.xaml.cs文件代码如下:

  
  

   
   
  1. using System
  2. using System.Collections.Generic; 
  3. using System.Linq; 
  4. using System.Net; 
  5. using System.Windows; 
  6. using System.Windows.Controls; 
  7. using System.Windows.Documents; 
  8. using System.Windows.Input; 
  9. using System.Windows.Media; 
  10. using System.Windows.Media.Animation; 
  11. using System.Windows.Shapes; 
  12. using System.Windows.Navigation; 
  13. using System.IO; 
  14. using System.Windows.Markup; 
  15. using System.Windows.Media.Imaging; 
  16.  
  17. namespace SLDragFile 
  18. { 
  19. public partial class MainPage : UserControl 
  20. { 
  21. public MainPage() 
  22. { 
  23. InitializeComponent(); 
  24. private void listBox1_Drop(object sender, DragEventArgs E) 
  25. { 
  26. //获取与拖放事件相关联的元素 
  27. IDataObject dataObject = e.Data as IDataObject; 
  28. //返回被拖放的外部文件的 FileInfo 数组 
  29. FileInfo[] files = dataObject.GetData(DataFormats.FileDrop) as FileInfo[]; 
  30.  
  31. foreach (FileInfo file in files) 
  32. { 
  33. //如果存在文件 
  34. if (file.Exists) 
  35. { 
  36. listBox1.Items.Add("文件名: " + file.Name); 
  37. //如果是txt文件,读取txt文件并且显示出来 
  38. if (file.Extension.ToLower() == ".txt"
  39. { 
  40. StreamReader sreader = file.opentext(); 
  41. String txtstr = ""
  42. String readStr = String.Empty; 
  43. while ((txtstr = sreader.ReadLine()) != null
  44. { 
  45. ReadStr += txtstr; 
  46. this.textBlock1.Text = readStr; 
  47. //如果是Jpg图片,读取图片并且显示出来 
  48. if (file.Extension.ToLower() == ".jpg"
  49. { 
  50. FileStream fs= file.openRead(); 
  51. BitmapImage image = new BitmapImage(); 
  52. image.Setsource(fs); 
  53. image1.source = image; 
  54.  
  55. else 
  56. { 
  57. listBox1.Items.Add("文件添加失败!"); 

        下面我们来看看拖动一张jpg图片文件效果如下:

Silverlight实用窍门系列:42.读取拖动到控件上的外部txt和jpg文件,多外部文件的拖动

 

        拖动一个UTF-8格式的txt文件效果如下:

Silverlight实用窍门系列:42.读取拖动到控件上的外部txt和jpg文件,多外部文件的拖动

 

        拖动多个文件到ListBox所出现的情况如下面三张图片所示:

Silverlight实用窍门系列:42.读取拖动到控件上的外部txt和jpg文件,多外部文件的拖动

        本文采用VS2010+Silverlight 4.0编写,如需源码请点击 SLDragFile.zip 下载

大佬总结

以上是大佬教程为你收集整理的Silverlight实用窍门系列:42.读取拖动到控件上的外部txt和jpg文件,多外部文件的拖动全部内容,希望文章能够帮你解决Silverlight实用窍门系列:42.读取拖动到控件上的外部txt和jpg文件,多外部文件的拖动所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。