Я не вижу смысла связывать это с помощью кода, когда вы можете сделать это прямо в представлении (xaml).
Я полагаю, у вас есть определенная модель для отображения этих данных в вашем пользовательском интерфейсе:
public class MyModel
{
public string ImageSource {get;set;}
public double Total {get;set;}
public double Used {get;set;}
public double Paid {get;set;}
public double Owed {get;set;}
}
В вашей виртуальной машине у вас будет эта коллекция, поскольку вы сказали, что их будет неопределенное количество.
using Prism.Mvvm;
public class MyVM : BindableBase
{
public ObservableCollection<MyModel> MyModelCollection
{
get {return _myModelCollection;}
set {SetProperty(ref _myModelCollection);}
}
private ObservableCollection<MyModel> _myModelCollection;
}
Наконец, в вашем представлении (xaml)
<ItemsControl ItemsSource="{Binding MyModelCollection, Mode=OneWay}"
ItemTemplate="{StaticResource currencyColumn}">
</ItemsControl>
Здесь я использую ваш уже определенный DataTemplate.