Для создания таблицы, которая будет автоматически обновляться при добавлении новых данных, вы можете использовать элемент управления DataGrid в приложении WPF. DataGrid предоставляет гибкую возможность отображения и редактирования данных в табличном формате.
В коде XAML вы можете добавить элемент управления DataGrid следующим образом:
```xml
<DataGrid x:Name="dataGrid" AutoGenerateColumns="True" />
```
Затем в коде C# вы можете привязаться к источнику данных, который будет обновляться динамически. Например, если у вас есть класс `Attendance`, который содержит информацию о посещаемости компании по датам:
```csharp
public class Attendance
{
public DateTime Date { get; set; }
public int NumberOfVisitors { get; set; }
}
```
Вы можете создать ObservableCollection для хранения данных и привязаться к элементу DataGrid:
```csharp
public ObservableCollection<Attendance> AttendanceRecords { get; set; }
public MainWindow()
{
InitializeComponent();
// Инициализация коллекции
AttendanceRecords = new ObservableCollection<Attendance>();
// Привязка коллекции к элементу DataGrid
dataGrid.ItemsSource = AttendanceRecords;
}
```
Когда у вас есть данные для указанной модели, вы можете добавить их в коллекцию AttendanceRecords:
```csharp
AttendanceRecords.Add(new Attendance { Date = DateTime.Today, NumberOfVisitors = 10 });
AttendanceRecords.Add(new Attendance { Date = DateTime.Today.AddDays(-1), NumberOfVisitors = 15 });
```
DataGrid автоматически обновится и отобразит новые данные.
Если вам нужно создать динамические колонки в DataGrid, вы можете использовать DataGridTemplateColumn или DataGridTextColumn и добавлять их программно в коде C#. Например:
```csharp
DataGridColumn newColumn = new DataGridTextColumn() { Header = "New Column", Binding = new Binding("PropertyName") };
dataGrid.Columns.Add(newColumn);
```
Где "PropertyName" - это свойство модели, которое будет отображаться в соответствующей колонке.
Вы также можете изменять, обновлять или удалять колонки по мере необходимости.