[英]wp7 music player
我正在嘗試在wp中開發音樂播放器應用程序。 現在,我可以從MediaLibrary中檢索歌曲列表並將其添加到列表框中。
MediaLibrary lib = new MediaLibrary();
var SongName = (from m in lib.Songs select m.Name).ToList();
listBox1.ItemsSource = SongName;
該列表正在填充,我正在使用事件訪問ListBox項
listBox1_SelectionChanged
我希望將所選項目轉換為Song類型,以便可以使用MediaPlayer類播放該項目。
正常的類型轉換,例如
Song x = (Song)listBox1.SelectedItem;
我該如何運作?
您正在選擇歌曲名稱(字符串)作為數據源類型。 如您所見,您不能僅通過顯式轉換字符串就將其轉換為Song
類型(如果您確實想保留字符串類型,則可以在MediaLibrary
執行搜索)。 另外,您可以將Song
對象本身綁定到ListBox。
MediaLibrary lib = new MediaLibrary();
var SongName = lib.Songs.ToList();
listBox1.ItemsSource = SongName;
然后在您的事件處理程序中
Song x = listBox1.SelectedItem as Song;
if(x != null)
MediaPlayer.Play(x);
如果您確實只想在ListBox
使用string
類型,則可以在SelectedChanged
事件中執行類似的搜索。 (您必須將lib
設為類級變量)
Song x = lib.Songs.Where(s => s.Name == listbox1.SelectedItem.ToString()).FirstOrDefault();
此方法的主要問題是,如果有兩個具有相同名稱的軌道,則僅返回第一個。 您需要一種區分它們的方法,但是其他屬性(例如Artist
已從數據源中刪除(因為您僅使用了Song's Name
屬性)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.