2015-01-17 8 views
1

장치에서 노래 목록을 만들었습니다.listView에서 노래를 시작하는 방법은 무엇입니까?

각 항목에 대해 ListView에 아티스트 이름과 노래 이름이 표시됩니다. 나는 노래가 선택 될 때, 놀이를 시작하기를 바란다, 나는 어떻게 갈 것이냐?

StorageFolder musicLibrary = KnownFolders.MusicLibrary; 
IReadOnlyList<StorageFile> musica = await musicLibrary.GetFilesAsync(); 

if (musica != null) 
{ 
    List<Testo> song = new List<Testo>(); 
    {   
     foreach (StorageFile storage in musica) 
     { 
      MusicProperties musicProp = await storage.Properties.GetMusicPropertiesAsync(); 

      song.Add(new Testo 
      { 
       NomeArtista = musicProp.Artist, 
       NomeCanzone = musicProp.Title, 
       Anno = (int)musicProp.Year, 

      });        
     } 
    } 
} 

private async void TestiCanzone_ItemClick(object sender, ItemClickEventArgs e) 
{ 
    Testo NuovoTesto = e.ClickedItem as Testo; 
} 

가 나는 또한

<MediaElement x:Name="AudioPlay" Source="" AutoPlay="True"/> 
+0

MVVM 및 바인딩을 사용합니까? – RenDishen

+0

XAML의 바인딩 사용 – SMM

+0

노래를 선택하면 해당 노래가 자동으로 재생되어야 함을 의미합니까? – Kulasangar

답변

0

당신은 당신의 ViewModel에 대한 몇 가지 특성에 목록보기의 SelectedValue을 결합 할 필요가 MediaElement에 생성 :

당신의 ViewModel에
<ListView SelectedItem="{Binding SelectedAudio, Mode=TwoWay}"/> 

당신은 속성을 변경 처리해야 :

public string SelectedCustomMusic 
    { 
     get 
     { 
      return this.selectedCustomMusic; 
     } 
     set 
     { 
      if (value != null) 
      { 
       this.selectedCustomMusic = value; 
       this.MusicSource = this.selectedCustomMusic; 
       base.OnPropertyChanged(); 
      } 
     } 
    } 

그리고 나서 의 this.MusicSourceSource에 묶으십시오.

관련 문제