From 006c98e5650b530e5220f279c1e803fefe69d40d Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期二, 25 十一月 2025 15:47:33 +0800
Subject: [PATCH] 优化一些东西;
---
WPFProject/PanuonWindow.xaml.cs | 82 ++++++++++++++++++++++++++++++++++++++++-
1 files changed, 80 insertions(+), 2 deletions(-)
diff --git a/WPFProject/PanuonWindow.xaml.cs b/WPFProject/PanuonWindow.xaml.cs
index 71de9ee..494eb98 100644
--- a/WPFProject/PanuonWindow.xaml.cs
+++ b/WPFProject/PanuonWindow.xaml.cs
@@ -6,18 +6,32 @@
using HMI.UI.Util;
using Panuon.WPF.UI;
using System;
+using System.Collections.ObjectModel;
using System.ComponentModel;
using System.IO;
+using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media.Imaging;
+using HMI.Util.Base;
+using System.Windows.Interop;
namespace WPFProject
{
+ public class SimpleAlarm
+ {
+ public string Time { get; set; }
+ public string Message { get; set; }
+ public override string ToString()
+ {
+ return $"{Time} {Message}";
+ }
+ }
+
/// <summary>
/// PanuonWindow.xaml 鐨勪氦浜掗�昏緫
/// </summary>
- public partial class PanuonWindow : WindowX, IPluginContainer
+ public partial class PanuonWindow : WindowX, IPluginContainer,IAlarmShow, AlarmBase
{
public PanuonWindow()
{
@@ -34,12 +48,45 @@
}
}
+ private string welcomeTitle;
+ public string WelcomeTitle
+ {
+ get => welcomeTitle;
+ set
+ {
+ Set(ref welcomeTitle, value);
+ }
+ }
+
+ private ObservableCollection<SimpleAlarm> alarms = new ObservableCollection<SimpleAlarm>();
+ public ObservableCollection<SimpleAlarm> Alarms
+ {
+ get => alarms;
+ set
+ {
+ Set(ref alarms, value);
+ }
+ }
+
+ public int AlarmCount
+ {
+ get => Alarms?.Count ?? 0;
+ }
+
+ public ListBox sb {
+ get;set;
+ }
+
private void PanuonWindow_Loaded(object sender, RoutedEventArgs e)
{
DataContext = this;
RefrshConfig();
InitializeComponent();
- userMenu.Header = this.lang("App.Welcome", UserInfo.User.Name);
+ AlarmShowHelper.Register(this);
+ var sb = WindowXCaption.GetHeaderTemplate(this);
+ //sb.FindName("list",this.Con);
+
+ WelcomeTitle = this.lang("App.Welcome", UserInfo.User.Name);
ShowMenu = false;
Application.Current.MainWindow = this;
SystemSetting.SystemSettingChanged += SystemSetting_SystemSettingChanged;
@@ -188,6 +235,37 @@
}
}
+ public bool ShowAlarm(string message)
+ {
+ bool res = false;
+ Dispatcher.Invoke(() =>
+ {
+ if (Alarms.FirstOrDefault(e => e.Message == message) == null)
+ {
+ var data = new SimpleAlarm
+ {
+ Time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
+ Message = message
+ };
+ Alarms.Add(data);
+ sb?.ScrollIntoView(data);
+ res = true;
+ }
+ });
+ return res;
+ }
+
+ private void list_Loaded(object sender, RoutedEventArgs e)
+ {
+ sb = sender as ListBox;
+ sb.Loaded -= list_Loaded;
+ }
+
+ public bool? Alarm(string message)
+ {
+ return true;
+ }
+
//private void BaseWindow_Loaded(object sender, RoutedEventArgs e)
//{
// var s = (Style)this.Resources["WindowButton"];
--
Gitblit v1.9.1