From 4cac1b533e133fdc8b3def90a0f998820f51907a Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期三, 26 三月 2025 17:57:59 +0800
Subject: [PATCH] 优化UI,新增日志自动删除;
---
WPFProject/Controls/MainTabControl.xaml.cs | 26 ++++++++++++++++++++------
1 files changed, 20 insertions(+), 6 deletions(-)
diff --git a/WPFProject/Controls/MainTabControl.xaml.cs b/WPFProject/Controls/MainTabControl.xaml.cs
index 1e57271..41e8557 100644
--- a/WPFProject/Controls/MainTabControl.xaml.cs
+++ b/WPFProject/Controls/MainTabControl.xaml.cs
@@ -2,6 +2,7 @@
using HMI.Core.Api;
using Microsoft.DwayneNeed.Interop;
using Panuon.WPF.UI;
+using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Runtime.CompilerServices;
@@ -94,6 +95,7 @@
}
}
+ private Dictionary<PluginInfo, PluginInfo> selectedCache = new Dictionary<PluginInfo, PluginInfo>();
private ObservableCollection<PluginInfo> _SubMenuItems;
@@ -138,20 +140,27 @@
{
var data = (PluginInfo)e.AddedItems[0];
SubMenuItems = data?.Children;
+ if (selectedCache.ContainsKey(data))
+ {
+ SelectedSubMenu = selectedCache[data];
+ }
+ else if (SubMenuItems.Count > 0)
+ {
+ SelectedSubMenu = SubMenuItems[0];
+ }
}
}
-
- private void SwithMenu(PluginInfo menu)
- {
-
- }
-
private void SubMenu_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (e.AddedItems?.Count > 0)
{
var data = (PluginInfo)e.AddedItems[0];
+ if (SelectedMenu != null)
+ {
+ selectedCache[SelectedMenu] = data;
+ }
+
var content = data.Content;
var last = page.Child;
PluginPackage.Get(last)?.DeActive();
@@ -186,6 +195,11 @@
UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
};
winFormHolder.SetBinding(WinFormHolder.MaskVisiableProperty, binding);
+ if (MenuItems != null && MenuItems.Count > 0)
+ {
+ SelectedMenu = MenuItems[0];
+ }
+ Loaded -= UserControl_Loaded;
}
}
}
--
Gitblit v1.9.1