diff --git a/CSI-H238M/CSI-H238M/Resources/LanguageResources.cs b/CSI-H238M/CSI-H238M/Resources/LanguageResources.cs index 08417b8..53634f4 100644 --- a/CSI-H238M/CSI-H238M/Resources/LanguageResources.cs +++ b/CSI-H238M/CSI-H238M/Resources/LanguageResources.cs @@ -36,6 +36,7 @@ namespace COFTester.Resources // 左侧面板 - 测试控制 ["TestControl"] = "测试控制", ["StartTest"] = "开始测试", + ["TestInProgress"] = "测试中", ["Stop"] = "停止", ["ResetSystem"] = "复位", ["Resetting"] = "复位中", @@ -186,6 +187,7 @@ namespace COFTester.Resources // Left Panel - Test Control ["TestControl"] = "Test Control", ["StartTest"] = "Start Test", + ["TestInProgress"] = "Testing", ["Stop"] = "Stop", ["ResetSystem"] = "Reset System", ["Resetting"] = "Resetting", @@ -346,6 +348,7 @@ namespace COFTester.Resources public string Displacement => GetString("Displacement"); public string TestControl => GetString("TestControl"); public string StartTest => GetString("StartTest"); + public string TestInProgress => GetString("TestInProgress"); public string Stop => GetString("Stop"); public string ResetSystem => GetString("ResetSystem"); public string Resetting => GetString("Resetting"); @@ -489,6 +492,7 @@ namespace COFTester.Resources OnPropertyChanged(nameof(Displacement)); OnPropertyChanged(nameof(TestControl)); OnPropertyChanged(nameof(StartTest)); + OnPropertyChanged(nameof(TestInProgress)); OnPropertyChanged(nameof(Stop)); OnPropertyChanged(nameof(ResetSystem)); OnPropertyChanged(nameof(Resetting)); diff --git a/CSI-H238M/CSI-H238M/ViewModels/ViewModel.cs b/CSI-H238M/CSI-H238M/ViewModels/ViewModel.cs index db3a343..0b43b29 100644 --- a/CSI-H238M/CSI-H238M/ViewModels/ViewModel.cs +++ b/CSI-H238M/CSI-H238M/ViewModels/ViewModel.cs @@ -41,6 +41,7 @@ namespace COFTester.ViewModels private bool _disposed = false; private string _selectedDirection = ""; // 选中的方向:Up/Down/Right/Left private string _resetButtonText; // 复位按钮文本 + private string _testButtonText; // 测试按钮文本 public MainViewModel(IDataAcquisitionService daqService, DataProcessingService processingService, AppConfig config) { @@ -52,6 +53,7 @@ namespace COFTester.ViewModels // 初始化状态消息 _statusMessage = LanguageResources.Instance.SystemReady; _resetButtonText = LanguageResources.Instance.ResetSystem; + _testButtonText = LanguageResources.Instance.StartTest; // 訂閱數據採集服務事件 _daqService.DataReceived += OnDataReceived; @@ -418,6 +420,12 @@ namespace COFTester.ViewModels get => _resetButtonText; set { _resetButtonText = value; OnPropertyChanged(); } } + + public string TestButtonText + { + get => _testButtonText; + set { _testButtonText = value; OnPropertyChanged(); } + } #endregion @@ -465,6 +473,7 @@ namespace COFTester.ViewModels Application.Current?.Dispatcher.InvokeAsync(() => { IsTesting = false; + TestButtonText = Lang.StartTest; // 测试完成后恢复按钮文本 StatusMessage = Lang.TestCompleted; // 数据处理与计算 @@ -511,6 +520,7 @@ namespace COFTester.ViewModels if (_isTesting) { IsTesting = false; + TestButtonText = Lang.StartTest; // 错误时恢复按钮文本 } OnPropertyChanged(nameof(IsConnected)); CommandManager.InvalidateRequerySuggested(); @@ -623,7 +633,10 @@ namespace COFTester.ViewModels _realTimePoints.Clear(); OnPropertyChanged(nameof(DataPointsCount)); LatestResult = null; + + // 更新测试状态和按钮文本 IsTesting = true; + TestButtonText = Lang.TestInProgress; // 按钮显示"测试中" StatusMessage = $"开始测试 - {_selectedDirection}方向"; UpdateScottPlot(); @@ -643,6 +656,9 @@ namespace COFTester.ViewModels Application.Current?.Dispatcher.InvokeAsync(() => { StatusMessage = $"启动测试失败: {ex.Message}"; + // 启动失败时恢复按钮状态 + IsTesting = false; + TestButtonText = Lang.StartTest; }); } }); @@ -677,6 +693,7 @@ namespace COFTester.ViewModels _daqService.StopAcquisition(); IsTesting = false; + TestButtonText = Lang.StartTest; // 恢复按钮文本为"开始测试" StatusMessage = Lang.TestStopped; } @@ -1070,9 +1087,16 @@ namespace COFTester.ViewModels else if (_statusMessage.Contains("分析完成") || _statusMessage.Contains("Analysis Completed")) StatusMessage = Lang.AnalysisCompleted; - // 更新复位按钮文本 - if (!_isTesting) + // 更新按钮文本 + if (_isTesting) + { + TestButtonText = Lang.TestInProgress; + } + else + { + TestButtonText = Lang.StartTest; ResetButtonText = Lang.ResetSystem; + } } private void OpenConfig() diff --git a/CSI-H238M/CSI-H238M/Views/TestPage.xaml b/CSI-H238M/CSI-H238M/Views/TestPage.xaml index 9f125b8..763358b 100644 --- a/CSI-H238M/CSI-H238M/Views/TestPage.xaml +++ b/CSI-H238M/CSI-H238M/Views/TestPage.xaml @@ -255,10 +255,23 @@ - -