设备加载页

This commit is contained in:
“hsc”
2026-08-31 15:30:53 +08:00
parent 3b7a41d7f8
commit d35e451c40
5 changed files with 72 additions and 6 deletions
@@ -128,6 +128,25 @@
</vs:ParametersManager.Style>
</vs:ParametersManager>
<Border x:Name="Overlay"
Background="#40000000"
Visibility="Collapsed"
Panel.ZIndex="1"
Grid.RowSpan="2"
Grid.ColumnSpan="4">
<StackPanel Width="150"
VerticalAlignment="Center"
Margin="0 0 0 100">
<ProgressBar Width="80"
Height="80"
Margin="20"
IsIndeterminate="True"
Style="{StaticResource MaterialDesignCircularProgressBar}" />
<TextBlock FontSize="30"
Text="加载中......"
HorizontalAlignment="Center" />
</StackPanel>
</Border>
</Grid>
</Border>
</UserControl>
+19 -2
View File
@@ -1,4 +1,6 @@
using System;
using Prism.Events;
using MainModule.ViewModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@@ -12,6 +14,7 @@ using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using UIShare.PubEvent;
namespace MainModule.Views
{
@@ -20,9 +23,23 @@ namespace MainModule.Views
/// </summary>
public partial class AutomatedTestingView : UserControl
{
public AutomatedTestingView()
public AutomatedTestingView(IEventAggregator eventAggregator)
{
InitializeComponent();
eventAggregator.GetEvent<OverlayEvent>().Subscribe(ShowOverlay);
// 台架级加载遮罩:仅台架名称匹配时响应,避免其他台架/主窗口同时变灰
eventAggregator.GetEvent<ScopeOverlayEvent>().Subscribe(ShowScopeOverlay);
}
private void ShowOverlay(bool arg)
{
Overlay.Visibility = arg ? Visibility.Visible : Visibility.Collapsed;
}
private void ShowScopeOverlay(ScopeOverlayArgs args)
{
// 只处理属于当前台架的遮罩事件(TestStatus 在 OnNavigatedTo 时赋值)
if (DataContext is not AutomatedTestingViewModel vm || vm.TestStatus != args.Scope) return;
Overlay.Visibility = args.Show ? Visibility.Visible : Visibility.Collapsed;
}
}
}