2012-06-09 40 views
0

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

我无法弄清楚如何将MediaElements源设置为Song对象的路径属性,以便我可以单击列表框中的某个项目并开始播放。

下面是我使用的将文件添加到列表框中的代码:

 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);                   
      } 
     } 

回答

0

存储在您Song类路径以及刚刚文件名。然后,当您选择该项目时,您可以立即获得路径。只要您喜欢,您可以在Song课程上拥有尽可能多的属性。只需使用DisplayMemberPath属性来控制显示内容,并使用SelectedValuePath属性来控制需要返回到代码的项目的哪个方面。在这种情况下,您可以使用文件名DisplayMemberPath和路径SelectedValuePath

您并不需要仅存储文件名,因为您可以通过转换器将路径传递到提取文件名以进行显示。很明显,这会产生一个处理开销,而存储文件名的额外内存并不是真正的问题,但我认为这值得一提。