Как добавить mp3 песни в список с помощью wpf? - PullRequest
0 голосов
/ 25 августа 2011

У меня есть папка Music в моем обозревателе решений ... затем я хочу добавить эти песни в элемент управления списка, после чего я хочу воспроизвести выбранные песни из списка в элементе мультимедиа, используя wpf?
Помогите мне, пожалуйста. Спасибо

Ответы [ 4 ]

1 голос
/ 26 августа 2011

Чтобы сделать игровое поведение eexplici нажатием кнопки, обратитесь к этому:

Xaml:

<MediaElement x:Name="media" Source="{Binding   
             ElementName=listbox,Path=SelectedItem}" 
             LoadedBehavior="Manual" UnloadedBehavior="Manual"/> 
 <Button Click="Button_Click" Height="27" VerticalAlignment="Bottom"   
         HorizontalAlignment="Left" Width="62">Play</Button>

Код сзади: -

private void Button_Click (object sender, RoutedEventArgs e) {
       media.Play ();
}
0 голосов
/ 29 августа 2011
You need to handle the mediaended event as below :-     
<MediaElement x:Name="media" Source="{Binding ElementName=listbox,Path=SelectedItem}" Margin="0,119,78,64"  MediaEnded="media_MediaEnded"
                 ></MediaElement>

   private void media_MediaEnded (object sender, RoutedEventArgs e) {
        if (listbox.SelectedIndex < listbox.Items.Count - 1) {
            listbox.SelectedIndex = listbox.SelectedIndex + 1;
        }

    }
0 голосов
/ 29 августа 2011
You need to handle the mediaended event as below :-

<MediaElement x:Name="media" Source="{Binding ElementName=listbox,Path=SelectedItem}"   MediaEnded="media_MediaEnded"
                 ></MediaElement>

Codebehind :-
` private void media_MediaEnded (object sender, RoutedEventArgs e) {
        if (listbox.SelectedIndex < listbox.Items.Count - 1) {
            listbox.SelectedIndex = listbox.SelectedIndex + 1;
        }`
0 голосов
/ 25 августа 2011
  • Вы должны реализовать бизнес-логику для просмотра каталога, на который вы нацелены. Подготовьте коллекцию предметов. Привязать их к списку
  • Для воспроизведения песни, привяжите выбранный элемент к MediaElement.

Я постараюсь скомпилировать простое решение и обновить его, если вам все еще нужна дополнительная помощь.

Обновление простого решения:

Xaml:

<StackPanel Orientation="Vertical">
    <ListBox ItemsSource="{Binding}" x:Name="fileList"></ListBox>
    <MediaElement x:Name="mediaElement" Source="{Binding ElementName=fileList, Path=SelectedItem}"/>
</StackPanel>

Код позади:

public partial class Window1 : Window {
    ObservableCollection<string> mFileList;

    public Window1 () {
        InitializeComponent ();
        GetFiles(@"..\songs");

        this.DataContext = mFileList;

    }

    private void GetFiles (string folderPath) {
       string[] files = Directory.GetFiles(folderPath);
       mFileList = new ObservableCollection<string> (files);
    }

}
...