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