using Microsoft.Extensions.Logging; using OrpaonVision.ConfigApp.ViewModels; using System.Windows; using System.Windows.Controls; using System.Windows.Input; namespace OrpaonVision.ConfigApp.Views; /// /// 训练任务管理窗口。 /// public partial class TrainingTaskManagementWindow : Window { private readonly ILogger _logger; private readonly TrainingTaskManagementViewModel _viewModel; /// /// 构造函数。 /// public TrainingTaskManagementWindow( ILogger logger, TrainingTaskManagementViewModel viewModel) { _logger = logger; _viewModel = viewModel; InitializeComponent(); DataContext = _viewModel; // 启动自动刷新 _viewModel.StartAutoRefresh(); _logger.LogInformation("训练任务管理窗口已初始化"); } /// /// 窗口关闭事件。 /// protected override void OnClosed(EventArgs e) { try { // 停止自动刷新 _viewModel.StopAutoRefresh(); _viewModel.Dispose(); _logger.LogInformation("训练任务管理窗口已关闭"); } catch (Exception ex) { _logger.LogError(ex, "关闭训练任务管理窗口时发生异常"); } finally { base.OnClosed(e); } } /// /// 搜索框回车事件。 /// private async void SearchTextBox_KeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Enter) { await _viewModel.SearchAsync(); } } /// /// 状态选择变化事件。 /// private async void StatusComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (e.AddedItems.Count > 0) { await _viewModel.SearchAsync(); } } }