Как начать песню из списка?

1

Я создал список песен на устройстве.

Для каждого элемента в моем 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

<MediaElement x:Name="AudioPlay" Source="" AutoPlay="True"/>
  • 0
    Используете ли вы MVVM и привязки?
  • 0
    Используйте Связывание в XAML
Показать ещё 1 комментарий
Теги:
xaml
windows-phone-8

1 ответ

0
Лучший ответ

Вам необходимо привязать SelectedValue вашего списка к некоторому свойству на вашей модели просмотра:

 <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.MusicSource к Source вашего MediaElement.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню