using guoke; using LiveCharts; using LiveCharts.Wpf; using SqlSugar; using System.Windows; using System.Windows.Controls; using System.Windows.Media; using System.Windows.Navigation; using WpfApp.src.components; using WpfApp.src.config; using WpfApp.src.view; using WpfApp.Utils; namespace WpfApp; /// /// Interaction logic for MainWindow.xaml /// public partial class MainWindow : Window { private readonly LogService log; private readonly DatabaseService db; private readonly EventService even; public MainWindow(LogService logService, DatabaseService databaseService, EventService eventService) { InitializeComponent(); log = logService; db = databaseService; even = eventService; // 记录窗口初始化日志 log.Info("MainWindow", "主窗口已通过依赖注入初始化"); log.Info("窗体启动"); even.AddEventHandler("GeneralEvent", (m, d) => { log.Info($"接收到事件:{d.Data}"); }); SetWindowTitle("FMSDGAUGE"); var labels = new[] { "13:27 23", "13:27 45", "13:27 49", "13:27 50", "13:27 55" }; var config1 = new ChartConfig { ColumnData = new List { 20, 10, 12, 5, 9 }, Labels = new List(labels), LineConfigs = new List { new LineConfig { Title = "标准1", Values = new List { 5,5,5,5,5 }, Stroke = Brushes.Blue }, new LineConfig { Title = "标准2", Values = new List { 10,10,10,10,10 }, Stroke = Brushes.Green }, new LineConfig { Title = "标准3", Values = new List { 30,30,30,30,30 }, Stroke = Brushes.Red, Unit = "A" } } }; InitChart.InitCartesianChart(myChart, config1); InitChart.InitCartesianChart(myChart1, config1); InitChart.InitCartesianChart(myChart2, config1); } private void Button_Click(object sender, RoutedEventArgs e) { SqlSugarScope scope = db.GetScope("LocalData"); scope.guokeCheckToCreate();//检查并创建表 even.TriggerEvent("GeneralEvent", this, new GeneralEventArgs("测试", 1)); } public class aaa : BaseTableModel { } /// /// 设置窗体标题的函数 /// /// public void SetWindowTitle(string newTitle) { this.Title = newTitle; } #region 菜单点击按钮 private void OnFilePageButtonClick(object sender, RoutedEventArgs e) { WindowHelper.ShowPageDialog(new FilePage(), "记录列表", 810, 600); } private void OnConfigPageButtonClick(object sender, RoutedEventArgs e) { WindowHelper.ShowPageDialog(new ConfigPage(), "配置", 972, 648); } private void OnStandardPageButtonClick(object sender, RoutedEventArgs e) { WindowHelper.ShowPageDialog(new StandardPage(), "主标定", 972, 648, isResizable: true); } private void OnGaugePageButtonClick(object sender, RoutedEventArgs e) { WindowHelper.ShowPageDialog(new GaugePage(), "Gauge R&&R", 1080, 720); } private void OnCgCgkPageButtonClick(object sender, RoutedEventArgs e) { WindowHelper.ShowPageDialog(new CgCgkPage(), "CgCgk", 972, 648, isResizable: true); } private void OnSysSetPageButtonClick(object sender, RoutedEventArgs e) { WindowHelper.ShowPageDialog(new SysSetPage(), "系统设置", 810, 600); } #endregion #region 关闭和测试按钮 /// /// 按钮点击触发关闭页面 /// /// /// private void OnCloseMainWindowButtonClick(object sender, RoutedEventArgs e) { this.Close(); } /// /// 测试按钮 /// /// /// private void OnDemoButtonClick(object sender, RoutedEventArgs e) { //LineBarChartDemo lineBarChartDemo = new LineBarChartDemo(); //lineBarChartDemo.Show(); } /// /// 等级选择下拉框变化事件处理 /// /// /// private void LevelComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (sender is ComboBox comboBox && comboBox.SelectedItem is ComboBoxItem selectedItem) { // 根据选择的Tag确定等级 SensorLevel selectedLevel = SensorLevel.Medium; // 默认值 switch (selectedItem.Tag?.ToString()) { case "Low": selectedLevel = SensorLevel.Low; break; case "Medium": selectedLevel = SensorLevel.Medium; break; case "High": selectedLevel = SensorLevel.High; break; } // 更新所有传感器图表的等级 Sensor1.Level = selectedLevel; Sensor2.Level = selectedLevel; Sensor3.Level = selectedLevel; } } #endregion }