Вы можете использовать элемент управления WPF DataGrid. Он отображает сетку ячеек, которые соответствуют коллекции объектов (строк), содержащих свойства (столбцы). Вам необходимо предоставить хранилище данных - набор объектов. Количество объектов в коллекции (количество коллекций) будет определять количество строк в сетке. DataGrid поддерживает редактирование данных в пользовательском интерфейсе.
Этот пример определяет три столбца и связывает их со свойствами A, B и C объекта данных.
<DataGrid AutoGenerateColumns="False"
Height="200"
HorizontalAlignment="Left"
Name="dataGrid1"
VerticalAlignment="Top"
Width="200">
<DataGrid.Columns >
<DataGridTextColumn Binding="{Binding Path=A}" MinWidth="50" />
<DataGridTextColumn Binding="{Binding Path=B}" MinWidth="50" />
<DataGridTextColumn Binding="{Binding Path=C}" MinWidth="50" />
</DataGrid.Columns>
</DataGrid>
Вам потребуется назначить (в коде или с помощью привязки данных) коллекцию объектов с этими свойствами для свойства ItemsSource в DataGrid, как и для любого другого ItemsControl. Как то так:
public partial class MainWindow: Window
{
public class DataObject
{
public int A { get; set; }
public int B { get; set; }
public int C { get; set; }
}
public MainWindow()
{
InitializeComponent();
var list = new ObservableCollection<DataObject>();
list.Add(new DataObject() { A = 6, B = 7, C = 5 });
list.Add(new DataObject() { A = 5, B = 8, C = 4 });
list.Add(new DataObject() { A = 4, B = 3, C = 0 });
this.dataGrid1.ItemsSource = list;
}
И результат выглядит так при редактировании центральной ячейки:
![WPF DataGrid](https://i.stack.imgur.com/0dPGn.png)
Примечание: класс сетки WPF предназначен только для макета. Он не обеспечивает поддержку редактирования данных.