Просто создайте наблюдаемую коллекцию вашего класса модели представления в открытом свойстве в viewModel для вашего представления. Вот пример
public ObservableCollection<YourViewModelForEachRow> LineItems{ get; private set; }
Затем, по вашему мнению, сетка данных xaml установит для свойства ItemsSource свойство LineItems, которое вы создали выше.
ItemSource="{Binding LineItems"}
Это, конечно, предполагает, что DataContext для представления, содержащего DataGrid, был установлен в ViewModel, где вы создали LineItems. Я делаю это для моих взглядов. Я все еще считаю себя новичком в WPF, но это, кажется, очень чистый и гибкий подход к MVVM. Вся логика обработки ввода данных, обработки виджетов и т. Д. В каждой строке обеспечивается моделью представления строк.
Плюс твой xaml очень чистый. Типичное определение столбца для меня выглядит следующим образом (где LineItemNumber является открытым свойством в моей LineItemViewModel):
<DataGridTextColumn Binding="{Binding Path=LineItemNumber, StringFormat=000}"
ElementStyle="{StaticResource CellRightAlign}"
Header="Line No." />