本節講訴兩個新特性:一、在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對象控制源碼如下:
//控制播放速度
int flag=0;
private void button6_Click(object sender, RoutedEventArgs e)
{
if (flag == 0)
this.showVideo.PlaybackRate = 0.5;
}
else if (flag == 1)
this.showVideo.PlaybackRate = 1.0;
else if (flag == 2)
this.showVideo.PlaybackRate = 2.0;
else if (flag == 3)
this.showVideo.PlaybackRate = 4.0;
else if (flag == 4)
this.showVideo.PlaybackRate = 8.0;
flag = 0;
return;
flag++;
其效果預覽圖如下:
<a target="_blank" href="http://blog.51cto.com/attachment/201204/214253225.jpg"></a>
二、TextSearch對象對文字項查詢
它是在Silverlight 5中新增的一個類TextSearch,在所有的具有Item屬性的文字控件中(比如ComboBox,ListBox)設定 TextSearch.TextPath="FirstName"即可。當然FirstName是被綁定源類的一個字段。下面我們來看XAML源碼如下:
<ListBox ItemsSource="{Binding}"
TextSearch.TextPath="FirstName"
Width="176"
Height="363"
HorizontalAlignment="Center"
VerticalAlignment="Center"
DisplayMemberPath="FirstName" Margin="610,31,214,106" />
<ComboBox ItemsSource="{Binding}"
Width="137"
Height="30"
DisplayMemberPath="FirstName" Margin="797,31,66,439" />
在cs代碼中需要如下綁定:
public partial class MainPage : UserControl
public MainPage()
InitializeComponent();
BindListData();
private void BindListData()
DataContext = new List<User>()
new User()
FirstName= "liusan",
Age=20
},
FirstName= "liyun",
FirstName= "liulin",
FirstName= "mingtian",
FirstName= "jintian",
FirstName= "shanghai",
FirstName= "chengdu",
FirstName= "luntai",
FirstName= "shenming",
FirstName= "edison",
FirstName= "jeson",
FirstName= "jiufen",
FirstName= "jiuding",
FirstName= "shenfenzheng",
}.OrderBy(x => x.FirstName);
public class User
public String FirstName
get;
set;
public Int32 Age
<a target="_blank" href="http://blog.51cto.com/attachment/201204/214156177.jpg"></a>
本文轉自程興亮 51CTO部落格,原文連結:http://blog.51cto.com/chengxingliang/826419