using guoke; using LiveCharts; using LiveCharts.Wpf; using SqlSugar; using System.Windows; using System.Windows.Navigation; using WpfApp.src.view; 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}"); }); #region 曲线测试数据 SetWindowTitle("FMSDGAUGE"); // 传感器1 // 初始化Series myChart.Series = new SeriesCollection { // 柱状图 new ColumnSeries { Title = "柱状数据", Values = new ChartValues { 20, 10, 12, 5, 9 } }, // 标准1 new LineSeries { Title = "标准1", Values = new ChartValues { 5, 5, 5, 5, 5 }, StrokeThickness = 2, Fill = System.Windows.Media.Brushes.Transparent }, // 标准2 new LineSeries { Title = "标准2", Values = new ChartValues { 10, 10, 10, 10, 10 }, StrokeThickness = 2, Stroke = System.Windows.Media.Brushes.Green, Fill = System.Windows.Media.Brushes.Transparent }, // 标准3 new LineSeries { Title = "标准3", Values = new ChartValues { 30, 30, 30, 30, 30 }, StrokeThickness = 2, Stroke = System.Windows.Media.Brushes.Red, Fill = System.Windows.Media.Brushes.Transparent } }; // 设置X轴标签 myChart.AxisX.Add(new Axis { Title = "", Labels = new[] { "13:27 23", "13:27 45", "13:27 49", "13:27 50", "13:27 55" } }); // 设置Y轴 myChart.AxisY.Add(new Axis { Title = "" }); // 传感器2 // 初始化Series myChart1.Series = new SeriesCollection { // 柱状图 new ColumnSeries { Title = "柱状数据", Values = new ChartValues { 20, 10, 12, 5, 9 } }, // 标准1 new LineSeries { Title = "标准1", Values = new ChartValues { 5, 5, 5, 5, 5 }, StrokeThickness = 2, Fill = System.Windows.Media.Brushes.Transparent }, // 标准2 new LineSeries { Title = "标准2", Values = new ChartValues { 10, 10, 10, 10, 10 }, StrokeThickness = 2, Stroke = System.Windows.Media.Brushes.Green, Fill = System.Windows.Media.Brushes.Transparent }, // 标准3 new LineSeries { Title = "标准3", Values = new ChartValues { 30, 30, 30, 30, 30 }, StrokeThickness = 2, Stroke = System.Windows.Media.Brushes.Red, Fill = System.Windows.Media.Brushes.Transparent } }; // 设置X轴标签 myChart1.AxisX.Add(new Axis { Title = "", Labels = new[] { "13:27 23", "13:27 45", "13:27 49", "13:27 50", "13:27 55" } }); // 设置Y轴 myChart1.AxisY.Add(new Axis { Title = "" }); // 传感器3 // 初始化Series myChart2.Series = new SeriesCollection { // 柱状图 new ColumnSeries { Title = "柱状数据", Values = new ChartValues { 20, 10, 12, 5, 9 } }, // 标准1 new LineSeries { Title = "标准1", Values = new ChartValues { 5, 5, 5, 5, 5 }, StrokeThickness = 2, Fill = System.Windows.Media.Brushes.Transparent }, // 标准2 new LineSeries { Title = "标准2", Values = new ChartValues { 10, 10, 10, 10, 10 }, StrokeThickness = 2, Stroke = System.Windows.Media.Brushes.Green, Fill = System.Windows.Media.Brushes.Transparent }, // 标准3 new LineSeries { Title = "标准3", Values = new ChartValues { 30, 30, 30, 30, 30 }, StrokeThickness = 2, Stroke = System.Windows.Media.Brushes.Red, Fill = System.Windows.Media.Brushes.Transparent } }; // 设置X轴标签 myChart2.AxisX.Add(new Axis { Title = "", Labels = new[] { "13:27 23", "13:27 45", "13:27 49", "13:27 50", "13:27 55" } }); // 设置Y轴 myChart2.AxisY.Add(new Axis { Title = "" }); #endregion } 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; } // 在 MainWindow 内部 /// /// 按钮点击触发文件页面 /// /// /// private void OnFilePageButtonClick(object sender, RoutedEventArgs e) { FilePage filePage = new FilePage(); NavigationWindow navWin = new NavigationWindow(); navWin.Width = 810; navWin.Height = 600; navWin.ResizeMode = ResizeMode.NoResize; navWin.Content = filePage; navWin.ShowsNavigationUI = false; navWin.Title = "记录列表"; // ✅ 新增:设定父窗口、样式与居中弹出 navWin.Owner = Application.Current.MainWindow; // 绑定主窗口 navWin.WindowStartupLocation = WindowStartupLocation.CenterOwner; // 居中弹出 navWin.WindowStyle = WindowStyle.ToolWindow; // ✅ 改这里:Show() 改为 ShowDialog() 实现模态窗口 navWin.ShowDialog(); } /// /// 按钮点击触发配置页面 /// /// /// private void OnConfigPageButtonClick(object sender, RoutedEventArgs e) { ConfigPage configPage = new ConfigPage(); NavigationWindow navWin = new NavigationWindow(); navWin.Content = configPage; navWin.ShowsNavigationUI = false; navWin.Width = 972; navWin.Height = 648; navWin.Title = "配置"; navWin.ResizeMode = ResizeMode.NoResize; // ✅ 新增:设定父窗口、样式与居中弹出 navWin.Owner = Application.Current.MainWindow; // 绑定主窗口 navWin.WindowStartupLocation = WindowStartupLocation.CenterOwner; // 居中弹出 navWin.WindowStyle = WindowStyle.ToolWindow; // ✅ 改这里:Show() 改为 ShowDialog() 实现模态窗口 navWin.ShowDialog(); } /// /// 按钮点击触发标准基准页面 /// /// /// private void OnStandardPageButtonClick(object sender, RoutedEventArgs e) { StandardPage standardPage = new StandardPage(); NavigationWindow navWin = new NavigationWindow(); navWin.Width = 1440; navWin.Height = 960; navWin.ResizeMode = ResizeMode.NoResize; navWin.Content = standardPage; navWin.ShowsNavigationUI = false; navWin.Title = "主标定"; // ✅ 新增:设定父窗口、样式与居中弹出 navWin.Owner = Application.Current.MainWindow; // 绑定主窗口 navWin.WindowStartupLocation = WindowStartupLocation.CenterOwner; // 居中弹出 navWin.WindowStyle = WindowStyle.ToolWindow; // ✅ 改这里:Show() 改为 ShowDialog() 实现模态窗口 navWin.ShowDialog(); } /// /// 按钮点击触发Gauge页面 /// /// /// private void OnGaugePageButtonClick(object sender, RoutedEventArgs e) { GaugePage gaugePage = new GaugePage(); NavigationWindow navWin = new NavigationWindow(); navWin.Content = gaugePage; navWin.ShowsNavigationUI = false; navWin.Width = 1080; navWin.Height = 720; navWin.Title = "Gauge R&&R"; // ✅ 新增:设定父窗口、样式与居中弹出 navWin.Owner = Application.Current.MainWindow; // 绑定主窗口 navWin.WindowStartupLocation = WindowStartupLocation.CenterOwner; // 居中弹出 navWin.WindowStyle = WindowStyle.ToolWindow; // ✅ 改这里:Show() 改为 ShowDialog() 实现模态窗口 navWin.ShowDialog(); } /// /// 按钮点击触发CgCgk页面 /// /// /// private void OnCgCgkPageButtonClick(object sender, RoutedEventArgs e) { CgCgkPage cgCgkPage = new CgCgkPage(); NavigationWindow navWin = new NavigationWindow(); navWin.Content = cgCgkPage; navWin.ShowsNavigationUI = false; navWin.Title = "CgCgk"; // ✅ 新增:设定父窗口、样式与居中弹出 navWin.Owner = Application.Current.MainWindow; // 绑定主窗口 navWin.WindowStartupLocation = WindowStartupLocation.CenterOwner; // 居中弹出 navWin.WindowStyle = WindowStyle.ToolWindow; // ✅ 改这里:Show() 改为 ShowDialog() 实现模态窗口 navWin.ShowDialog(); } /// /// 按钮点击触发系统设置页面 /// /// /// private void OnSysSetPageButtonClick(object sender, RoutedEventArgs e) { SysSetPage sysSetPage = new SysSetPage(); NavigationWindow navWin = new NavigationWindow(); navWin.Width = 810; navWin.Height = 600; navWin.ResizeMode = ResizeMode.NoResize; navWin.Content = sysSetPage; navWin.ShowsNavigationUI = false; navWin.Title = "系统设置"; // ✅ 新增:设定父窗口、样式与居中弹出 navWin.Owner = Application.Current.MainWindow; // 绑定主窗口 navWin.WindowStartupLocation = WindowStartupLocation.CenterOwner; // 居中弹出 navWin.WindowStyle = WindowStyle.ToolWindow; // ✅ 改这里:Show() 改为 ShowDialog() 实现模态窗口 navWin.ShowDialog(); } /// /// 按钮点击触发关闭页面 /// /// /// private void OnCloseMainWindowButtonClick(object sender, RoutedEventArgs e) { this.Close(); } /// /// 测试按钮 /// /// /// private void OnDemoButtonClick(object sender, RoutedEventArgs e) { //LineBarChartDemo lineBarChartDemo = new LineBarChartDemo(); //lineBarChartDemo.Show(); } } }