From 9d1660270272180cd71147d6ddd53d1382643d2e Mon Sep 17 00:00:00 2001
From: wenxiangchao <wenxiangchao@ihengxin.com.cn>
Date: 星期一, 02 十一月 2026 18:00:14 +0800
Subject: [PATCH] merge: 并入远程 Initial commit 作为历史根节点
---
WPFProject/PanuonWindow.xaml.cs | 87 +++++++++++++++++++++++++++++++++++++------
1 files changed, 75 insertions(+), 12 deletions(-)
diff --git a/WPFProject/PanuonWindow.xaml.cs b/WPFProject/PanuonWindow.xaml.cs
index 3ed72b3..7dceeff 100644
--- a/WPFProject/PanuonWindow.xaml.cs
+++ b/WPFProject/PanuonWindow.xaml.cs
@@ -5,12 +5,14 @@
using HMI.Core.Util;
using HMI.UI.Util;
using HMI.Util.Alarm;
+using log4net;
using Panuon.WPF.UI;
using System;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.IO;
using System.Linq;
+using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media.Imaging;
@@ -33,9 +35,11 @@
/// </summary>
public partial class PanuonWindow : WindowX, IPluginContainer, IAlarmShow
{
+ private ILog log = LogManager.GetLogger("MainWindow");
public PanuonWindow()
{
this.Loaded += PanuonWindow_Loaded;
+ SoftwareVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
}
private UserInfo currentUser;
@@ -73,6 +77,26 @@
get => Alarms?.Count ?? 0;
}
+ private string softwareVersion;
+ public string SoftwareVersion
+ {
+ get => softwareVersion;
+ set
+ {
+ Set(ref softwareVersion, value);
+ }
+ }
+
+ private string pluginVersion;
+ public string PluginVersion
+ {
+ get => pluginVersion;
+ set
+ {
+ Set(ref pluginVersion, value);
+ }
+ }
+
public ListBox sb
{
get; set;
@@ -80,17 +104,31 @@
private void PanuonWindow_Loaded(object sender, RoutedEventArgs e)
{
- DataContext = this;
- RefrshConfig();
- InitializeComponent();
- AlarmShowHelper.Register(this);
- var sb = WindowXCaption.GetHeaderTemplate(this);
- //sb.FindName("list",this.Con);
+ try
+ {
+ DataContext = this;
+ RefrshConfig();
+ InitializeComponent();
+ AlarmShowHelper.Register(this);
- WelcomeTitle = this.lang("App.Welcome", UserInfo.User.Name);
- ShowMenu = false;
- Application.Current.MainWindow = this;
- SystemSetting.SystemSettingChanged += SystemSetting_SystemSettingChanged;
+ WelcomeTitle = this.lang("App.Welcome", UserInfo.User.Name);
+ ShowMenu = false;
+ Application.Current.MainWindow = this;
+ SystemSetting.SystemSettingChanged += SystemSetting_SystemSettingChanged;
+
+ if (Environment.Is64BitProcess)
+ {
+ Task.Run(() =>
+ {
+ ResourceListener.Instance.RefreshEvent += this.resourceUI.Refresh;
+ ResourceListener.Instance.Start();
+ });
+ }
+ }
+ catch (Exception ex)
+ {
+ log.Error("Window Loaded Error.", ex);
+ }
}
private void RefrshConfig()
@@ -223,6 +261,7 @@
{
try
{
+ ResourceListener.Instance.Stop();
AlarmUtil.Release();
PluginLoader.Reset();
UserInfo.Logout();
@@ -232,7 +271,7 @@
{
}
- Application.Current.Shutdown();
+ Application.Current.Shutdown(0);
}
private void Button_Click(object sender, RoutedEventArgs e)
@@ -244,7 +283,16 @@
this.Minimize();
break;
case "maxBtn":
- this.Maximize();
+ //var state = this.WindowState == WindowState.Maximized ? WindowState.Normal : WindowState.Maximized;
+ //SetCurrentValue(Window.WindowStateProperty, state);
+ if (this.WindowState == WindowState.Maximized)
+ {
+ this.Normalmize();
+ }
+ else
+ {
+ this.Maximize();
+ }
break;
case "closeBtn":
this.Closed -= Logout_PanuonWindow_Closed;
@@ -296,6 +344,21 @@
Alarms?.Clear();
}
+ private void menuTab_TabChanged(object sender, Controls.TabChangedEventArg e)
+ {
+ Dispatcher.BeginInvoke(() =>
+ {
+ if (e.newValue == null)
+ {
+ PluginVersion = string.Empty;
+ }
+ else
+ {
+ PluginVersion = e.newValue.GetType().Assembly.GetName().Version.ToString();
+ }
+ }, System.Windows.Threading.DispatcherPriority.Normal);
+ }
+
//private void BaseWindow_Loaded(object sender, RoutedEventArgs e)
//{
// var s = (Style)this.Resources["WindowButton"];
--
Gitblit v1.9.1