Вы пишете этот код -
//...
private List<AudioFile> songs = new List<AudioFile>();
//code that adds to array
songList.DataContext = songs;
перед вызовом метода IniitializeComponent () для представления?Можете ли вы предоставить немного больше информации о размещении кода, которое поможет лучше понять ситуацию.
И просто предложение, хотя и не связанное.Я бы сказал, использовать класс вместо структурных объектов, потому что привязка данных WPF учитывает только свойства, а не поля. Определенно, это не является причиной ошибки.