using System.Windows; using System.Windows.Controls; using DeclarationAutomatization.Models; using DeclarationAutomatization.ViewModels; namespace DeclarationAutomatization.Views; public partial class MainWindow : Window { private readonly MainViewModel _viewModel; public MainWindow(MainViewModel viewModel) { InitializeComponent(); _viewModel = viewModel; DataContext = viewModel; // Обрабатываем завершение редактирования кода в таблице ItemsGrid.CellEditEnding += OnCellEditEnding; } private void OnCellEditEnding(object? sender, DataGridCellEditEndingEventArgs e) { if (e.EditAction != DataGridEditAction.Commit) return; if (e.Row.Item is not DeclarationItem item) return; // Колонка "Код декларации" (индекс 8) if (e.Column.DisplayIndex != 8) return; string? newCode = null; if (e.EditingElement is ComboBox combo) newCode = combo.Text?.Trim(); else if (e.EditingElement is TextBox tb) newCode = tb.Text?.Trim(); if (!string.IsNullOrEmpty(newCode)) _viewModel.OnCodeManuallyChanged(item, newCode); } }