微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Silverlight 5 beta新特性探索系列:9.视频快进快退和TextSearch对象对文字项查询

        本节讲诉两个新特性:一、在Silverlight 5中可以控制MediaElement对象播放的视频进行快进快退控制。二、在Silverlight 5中的文字项进行搜索查询

        一、对于MediaElement媒体播放对象的视频进行快退快进控制

        它是通过MediaElement.PlaybackRate属性进行控制的。当前此属性支持-8.0、-4.0、0.5、1.0、2.0、4.0、 8.0七个参数,也就是快退8倍速、快退4倍速、慢放0.5倍速、正常速度、快进2倍速、快进4倍速、快进8倍速。现在我们看本实例中的 MediaElement对象控制源码如下:

 

 
 
  1. //控制播放速度 
  2. int flag=0; 
  3. private void button6_Click(object sender, RoutedEventArgs e) 
  4. if (flag == 0) 
  5. this.showVideo.PlaybackRate = 0.5; 
  6. else if (flag == 1) 
  7. this.showVideo.PlaybackRate = 1.0; 
  8. else if (flag == 2) 
  9. this.showVideo.PlaybackRate = 2.0; 
  10.  
  11. else if (flag == 3) 
  12. this.showVideo.PlaybackRate = 4.0; 
  13.  
  14. else if (flag == 4) 
  15. this.showVideo.PlaybackRate = 8.0; 
  16. flag = 0; 
  17. return
  18. flag++; 

        其效果预览图如下:

        二、TextSearch对象对文字查询       

        它是在Silverlight 5中新增的一个类TextSearch,在所有的具有Item属性文字控件中(比如ComboBox,ListBox)设置 TextSearch.TextPath="FirstName"即可。当然FirstName是被绑定源类的一个字段。下面我们来看XAML源码如下:

 

 
 
  1. <ListBox ItemsSource="{Binding}" 
  2.        TextSearch.TextPath="FirstName" 
  3.        Width="176" 
  4.        Height="363" 
  5.        HorizontalAlignment="Center" 
  6.        VerticalAlignment="Center" 
  7.        displayMemberPath="FirstName" Margin="610,31,214,106" /> 
  8. <ComboBox ItemsSource="{Binding}" 
  9.        TextSearch.TextPath="FirstName" 
  10.        Width="137" 
  11.        Height="30" 
  12.        HorizontalAlignment="Center" 
  13.        VerticalAlignment="Center" 
  14.        displayMemberPath="FirstName" Margin="797,66,439" /> 

        在cs代码中需要如下绑定:

 

 
 
  1. public partial class MainPage : UserControl 
  2. public MainPage() 
  3. InitializeComponent(); 
  4.  
  5. BindListData(); 
  6. private void BindListData() 
  7. DataContext = new List<User>() 
  8. new User() 
  9. FirstName= "liusan"
  10. Age=20 
  11. }, 
  12. new User() 
  13. FirstName= "liyun"
  14. Age=20 
  15. }, 
  16. new User() 
  17. FirstName= "liulin"
  18. new User() 
  19. FirstName= "mingtian"
  20. new User() 
  21. FirstName= "jintian"
  22. new User() 
  23. FirstName= "shanghai"
  24. new User() 
  25. FirstName= "chengdu"
  26. new User() 
  27. FirstName= "luntai"
  28. new User() 
  29. FirstName= "shenming"
  30. new User() 
  31. FirstName= "edison"
  32. new User() 
  33. FirstName= "jeson"
  34. new User() 
  35. FirstName= "jiufen"
  36. new User() 
  37. FirstName= "jiuding"
  38. new User() 
  39. FirstName= "shenfenzheng"
  40. Age=20 
  41. }.OrderBy(x => x.FirstName); 
  42.  
  43. public class User 
  44. public String FirstName 
  45. get; 
  46. set
  47. public Int32 Age 
  48. get; 
  49. set

        最后我们在ComboBox或者ListItem取得焦点的时候在键盘上敲英文字符即可自动查找对焦到相应的Item项。本实例采用VS2010+Silverlight 5 beta编写,如需源码请点击 SLTextSearch.zip 下载,现在我们来看运行效果图如下:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐