From 9211ec11c112e18cd99e77f889a01110a70031ce Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期一, 24 十一月 2025 17:47:15 +0800
Subject: [PATCH] 优化项目结构
---
Plugin.TestResult/InfoWindow.xaml.cs | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 109 insertions(+), 3 deletions(-)
diff --git a/Plugin.TestResult/InfoWindow.xaml.cs b/Plugin.TestResult/InfoWindow.xaml.cs
index 9c74852..5e402af 100644
--- a/Plugin.TestResult/InfoWindow.xaml.cs
+++ b/Plugin.TestResult/InfoWindow.xaml.cs
@@ -1,6 +1,16 @@
-锘縰sing Panuon.WPF.UI;
+锘縰sing HMI.Core.Api;
+using HMI.Core.Entity;
+using HMI.Core.Manager;
+using HMI.Core.Util;
+using HMI.UI.Util;
+using Panuon.WPF.UI;
using Plugin.TestResult_WPF.Model;
+using System;
+using System.Collections.Generic;
using System.Collections.ObjectModel;
+using System.Linq;
+using System.Windows;
+using System.Windows.Controls;
namespace Plugin.TestResult_WPF
{
@@ -24,19 +34,115 @@
get => _dataSource == null ? new ObservableCollection<Info>() : _dataSource;
set => Set(ref _dataSource, value);
}
-
- public InfoWindow(string title, ObservableCollection<Info> infos)
+ private Chart electricChart;
+ private Chart vChart;
+ public InfoWindow(string title, ObservableCollection<Info> infos, Chart electricChart, Chart vChart, int probeCount)
{
this.title = title;
this.dataSource = infos;
DataContext = this;
Topmost = false;
InitializeComponent();
+
+ if (AlarmProbeCount < 0)
+ {
+ alarmLabel.Visibility = Visibility.Collapsed;
+ alarmValue.Visibility = Visibility.Collapsed;
+ }
+ UpdateProbeCount(probeCount);
+
+ this.electricChart = electricChart;
+ mainGrid.Children.Add(electricChart);
+ Grid.SetRow(electricChart, 1);
+
+ this.vChart = vChart;
+ mainGrid.Children.Add(vChart);
+ Grid.SetRow(vChart, 2);
}
+
+ private static int AlarmProbeCount;
+ static InfoWindow()
+ {
+ int probeWarn = -1;
+ try
+ {
+ probeWarn = Convert.ToInt32(ParameterManager.GetCommonParameter<List<ParameterData>>()
+ .FirstOrDefault(x => x.Name == "ProbeWarn")?.Value);
+ }
+ catch (Exception ex)
+ {
+ probeWarn = -1;
+ }
+ AlarmProbeCount = probeWarn;
+ }
+
+ public event EventHandler ClearProbeCountEvent;
+
+ private int probeCount;
+ public int ProbeCount
+ {
+ get => probeCount;
+ set
+ {
+ Set(ref probeCount, value);
+ }
+ }
+
+ public int ProbeWarn
+ {
+ get => AlarmProbeCount;
+ set { }
+ }
+ public void UpdateProbeCount(int count)
+ {
+ Dispatcher.Invoke(() =>
+ {
+ ProbeCount = count;
+ if (AlarmProbeCount >= 0)
+ {
+ probeCountAlarm.Visibility = (ProbeCount >= AlarmProbeCount) ? Visibility.Visible : Visibility.Collapsed;
+ }
+ });
+ }
+
public void UpdateSource(ObservableCollection<Info> infos)
{
this.dataSource = infos;
}
+
+ private void Window_Loaded(object sender, RoutedEventArgs e)
+ {
+ DataContext = this;
+ }
+
+ private void Window_Unloaded(object sender, RoutedEventArgs e)
+ {
+ DataContext = null;
+ }
+
+ protected override void OnClosed(EventArgs e)
+ {
+ electricChart = null;
+ vChart = null;
+ mainGrid.Children.Clear();
+ base.OnClosed(e);
+ }
+
+ private void Window_SizeChanged(object sender, SizeChangedEventArgs e)
+ {
+ //if (electricChart != null)
+ //{
+ // electricChart.Height = this.ActualHeight * 0.3;
+ //}
+ }
+
+ private void Button_Click(object sender, RoutedEventArgs e)
+ {
+ if (MsgBoxHelper.WarnMessage(this, "纭畾瑕佹竻绌烘帰閽堜娇鐢ㄦ鏁板悧锛�") == MessageBoxResult.OK)
+ {
+ ClearProbeCountEvent?.Invoke(this, null);
+ }
+ }
}
}
--
Gitblit v1.9.1