【问题标题】:How to set MediaElement source如何设置 MediaElement 源
【发布时间】:2012-06-09 12:26:27
【问题描述】:

我正在用 C# WPF 制作音乐播放器。文件被添加到用作 MediaElement 播放列表的 ListBox 中。为了在 ListBox 中只显示没有路径和扩展名的文件名,我创建了一个 Song 类,它具有路径和标题的属性。

我不知道如何将 MediaElements 源设置为 Song 对象的路径属性,这样我只需单击 ListBox 中的一个项目,它就会开始播放。

这是我用于将文件添加到列表框的代码:

        if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
        {
            foreach (string file in ofd.FileNames)
            {
                Song songs = new Song(System.IO.Path.GetFileNameWithoutExtension(file), file);
                listBox.Items.Add(songs);                                                                           
            }  
        }

【问题讨论】:

    标签: c# wpf listbox mediaelement playlist


    【解决方案1】:

    Song 类中存储路径以及文件名。然后,当您选择该项目时,您可以立即使用该路径。您可以在Song 类上拥有任意数量的属性。只需使用DisplayMemberPath 属性来控制要显示的内容,并使用SelectedValuePath 属性来控制您需要返回代码的项目的哪个方面。在这种情况下,您可以将文件名用作DisplayMemberPath,将路径用作SelectedValuePath

    您实际上不需要只存储文件名,因为您可以通过转换器传递路径以提取文件名以进行显示。显然这会产生处理开销,并且存储文件名所占用的额外内存并不是真正的问题,但我认为值得一提。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多