Для создания динамически заполняемой таблицы в WPF, нужно использовать элемент управления DataGrid. DataGrid предоставляет мощные возможности для отображения данных в виде таблицы и автоматического обновления таблицы при изменении источника данных.
Вот пошаговая инструкция по созданию динамически заполняемой таблицы WPF:
1. Создайте новое WPF приложение в Visual Studio и откройте файл MainWindow.xaml.
2. Добавьте следующие using-директивы в раздел using в файле MainWindow.xaml.cs:
using System.Collections.ObjectModel; using System.ComponentModel;
3. В разметке XAML добавьте элемент управления DataGrid следующим образом:
<DataGrid x:Name="datagrid" AutoGenerateColumns="False"> <DataGrid.Columns> <!-- Здесь добавляется любое число столбцов --> <!-- Примеры столбцов: --> <!-- <DataGridTextColumn Header="Колонка 1" Binding="{Binding Column1}" /> --> <!-- <DataGridTextColumn Header="Колонка 2" Binding="{Binding Column2}" /> --> </DataGrid.Columns> </DataGrid>
4. В коде C# добавьте определение класса для элементов таблицы:
public class TableItem : INotifyPropertyChanged { private string _column1; public string Column1 { get { return _column1; } set { _column1 = value; NotifyPropertyChanged("Column1"); } } private string _column2; public string Column2 { get { return _column2; } set { _column2 = value; NotifyPropertyChanged("Column2"); } } public event PropertyChangedEventHandler PropertyChanged; private void NotifyPropertyChanged(string propertyName) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } }
5. В коде C# добавьте метод для заполнения таблицы данными:
private void FillTable() { ObservableCollection<TableItem> tableItems = new ObservableCollection<TableItem>(); // Здесь можно добавлять объекты TableItem в коллекцию // Пример добавления объектов: // tableItems.Add(new TableItem { Column1 = "Значение 1", Column2 = "Значение 2" }); // tableItems.Add(new TableItem { Column1 = "Значение 3", Column2 = "Значение 4" }); datagrid.ItemsSource = tableItems; }
6. Добавьте вызов метода FillTable из конструктора класса MainWindow:
public MainWindow() { InitializeComponent(); FillTable(); }
7. Теперь, когда TableItem добавляются в коллекцию tableItems, они автоматически отображаются в таблице DataGrid. Также изменения значений в столбцах таблицы будут автоматически обновляться.
Теперь у вас есть динамически заполняемая таблица в вашем WPF приложении. Вы можете добавлять и удалять элементы таблицы, а также изменять значения в столбцах, и все изменения будут отображаться в реальном времени в таблице.