using System.Windows; using System.Windows.Controls; using CommunityToolkit.Mvvm.Messaging; using Microsoft.Extensions.DependencyInjection; using Seyounth.Hyosung.Data.Entities; using Seyounth.Hyosung.ViewModels; using Seyounth.Hyosung.Views.Windows; namespace Seyounth.Hyosung.Views.Pages; public partial class VarietyPage : Page { public VarietyViewModel ViewModel { get; set; } private readonly IServiceProvider _serviceProvider; public VarietyPage(VarietyViewModel viewModel, IServiceProvider serviceProvider) { _serviceProvider = serviceProvider; ViewModel = viewModel; DataContext = this; InitializeComponent(); WeakReferenceMessenger.Default.Register(this, (r, m) => { // 提交当前编辑并取消编辑模式 VarietyDataGrid.CommitEdit(); VarietyDataGrid.CancelEdit(); }); } private void TrayManagerButton_OnClick(object sender, RoutedEventArgs e) { var dialog = _serviceProvider.GetService(); dialog.ShowDialog(); } private void DataGrid_CellEditEnding(object? sender, DataGridCellEditEndingEventArgs e) { if (e.EditAction == DataGridEditAction.Commit) { var binding = e.EditingElement.GetBindingExpression(TextBox.TextProperty); binding?.UpdateSource(); } } }