| | |
| | | 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() |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | 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; |
| | |
| | | } |
| | | } |
| | | |
| | | 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"]; |