«Правильный» путь с точки зрения WPF будет следующим (разделение кода и представления):
public class IndexReader: INotifyPropertyChanged
{
public IEnumerable<string> IndexFiles
{ get { ... } set { ... raise notify } }
public void ReadIndexImagesFromFolder(string folder)
{
...
}
}
вы все равно будете использовать привязку для привязки к ListBox (после того, как вы установите для экземпляра IndexReader значение DataContext для ListBox или одного из его родителей):
<ListBox ItemsSource="{Binding IndexFiles}"/>
Правило таково: если оно не может быть легко связано, не пытайтесь это сделать.