From dedcf4174c8540ee3a912daad2ff13e014e495b1 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期五, 28 三月 2025 16:28:30 +0800
Subject: [PATCH] 优化UI组件;
---
Plugin.TestResult/SingleCell.xaml.cs | 52 ++++++++++++++++++++++------------------------------
1 files changed, 22 insertions(+), 30 deletions(-)
diff --git a/Plugin.TestResult/SingleCell.xaml.cs b/Plugin.TestResult/SingleCell.xaml.cs
index 60b55c7..981c6c9 100644
--- a/Plugin.TestResult/SingleCell.xaml.cs
+++ b/Plugin.TestResult/SingleCell.xaml.cs
@@ -145,31 +145,34 @@
if (window != null) window.UpdateSource(this.infos);
}
- public void SetInfos(string[,] infos)
- {
- var data = new ObservableCollection<Info>();
- for (int i = 0; i < infos.GetLength(0); i++)
- {
- data.Add(new Info
- {
- step = infos[i, 0],
- result = infos[i, 1]
- });
- }
- this.infos = data;
- if (window != null) window.UpdateSource(this.infos);
- }
-
public void SetInfos(Info info)
{
if (queue.Count >= maxSize)
{
queue.TryDequeue(out var first);
+ queue.Enqueue(info);
+ this.infos = new ObservableCollection<Info>(queue);
+ if (window != null) window.UpdateSource(this.infos);
}
- queue.Enqueue(info);
- var list = new ObservableCollection<Info>(queue);
- this.infos = list;
- if (window != null) window.UpdateSource(this.infos);
+ else
+ {
+ queue.Enqueue(info);
+ if (window != null)
+ {
+ window.Dispatcher.Invoke(() =>
+ {
+ this.infos.Add(info);
+ });
+ }
+ else
+ {
+ Dispatcher.Invoke(() =>
+ {
+ this.infos.Add(info);
+ });
+ }
+ return;
+ }
}
public void ClearInfo()
@@ -180,16 +183,5 @@
if (window != null) window.UpdateSource(this.infos);
}
- public void SetInfos(string step, string result)
- {
- if (queue.Count >= maxSize)
- {
- queue.TryDequeue(out var info);
- }
- queue.Enqueue(new Info() { step = step, result = result });
- var list = new ObservableCollection<Info>(queue);
- this.infos = list;
- if (window != null) window.UpdateSource(this.infos);
- }
}
}
--
Gitblit v1.9.1