【发布时间】:2018-02-19 17:33:56
【问题描述】:
我是WPF 的新手,我正在尝试使用MVVM 将目录中的歌曲绑定到数据网格。到目前为止,我已经能够使用“foreach 循环”绑定一首歌曲文件,但我无法想出显示其余歌曲的逻辑。这是我到目前为止所做的:
using System.IO;
namespace MusicPlayer
{
public class MainWindowViewModel
{
public MainWindowViewModel()
{
Songs = GetSongs();
}
public Songs Songs { get; set; }
string title;
string artist;
string album;
uint year;
string genre;
public Songs GetSongs()
{
DirectoryInfo di = new DirectoryInfo("C:/Users/USER/MyMusic");
FileInfo[] Files = di.GetFiles("*.mp3"); //Getting mp3 files
foreach (FileInfo file in Files)
{
string fileName = file.FullName;
TagLib.File tagFile = TagLib.File.Create(fileName);
title = tagFile.Tag.Title;
artist = tagFile.Tag.FirstAlbumArtist;
album = tagFile.Tag.Album;
year = tagFile.Tag.Year;
genre = tagFile.Tag.FirstGenre;
//string duration = tagFile.Tag.time;
}
return new Songs { new Song { Name = title, Artist = artist, Album = album, Year = year, Genre = genre } };
}
}
}
歌曲课
using System.Collections.ObjectModel;
namespace MusicPlayer
{
public class Songs : ObservableCollection<Song>
{
}
}
歌曲班
namespace MusicPlayer
{
public class Song
{
public string Name { get; set; }
public string Artist { get; set; }
public string Album { get; set; }
public string Duration { get; set; }
public uint Year { get; set; }
public string Genre { get; set; }
}
}
xaml.cs 文件
using System.Windows;
namespace MusicPlayer
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
MainWindowViewModel mainWindowViewModel;
public MainWindow()
{
InitializeComponent();
mainWindowViewModel = new MainWindowViewModel();
DataContext = mainWindowViewModel;
}
}
}
【问题讨论】:
-
请添加
Songs类 -
@Fruchtzwerg 抱歉,我已经用其余代码更新了帖子