From 559890c482f5973f06aafdfec9550fee5ba3c7f2 Mon Sep 17 00:00:00 2001
From: wenxiangchao <wenxiangchao@ihengxin.com.cn>
Date: 星期一, 09 十一月 2026 17:02:15 +0800
Subject: [PATCH] feat: CAN 模拟器 TCP 化 + 多设备并发调试 + 后台生命周期管理

---
 Plugin.TestResult/DataTable.xaml |   64 ++++++++++++++++++++++++-------
 1 files changed, 49 insertions(+), 15 deletions(-)

diff --git a/Plugin.TestResult/DataTable.xaml b/Plugin.TestResult/DataTable.xaml
index 501ee89..13e0adf 100644
--- a/Plugin.TestResult/DataTable.xaml
+++ b/Plugin.TestResult/DataTable.xaml
@@ -10,6 +10,7 @@
 xmlns:pu="https://opensource.panuon.com/wpf-ui"
 xmlns:ui="clr-namespace:HMI.UI;assembly=HMI.UI"
 xmlns:dp="clr-namespace:HMI.UI.DpUtil;assembly=HMI.UI"
+xmlns:dc="clr-namespace:HMI.UI.Converter;assembly=HMI.UI"
              mc:Ignorable="d"
              Background="#FFF"
              BorderBrush="Black"
@@ -19,6 +20,7 @@
              d:DesignHeight="450" d:DesignWidth="800">
     <UserControl.Resources>
         <local:FontSizeConverter x:Key="FontSizeConverter"/>
+        <dc:ReverseBoolConverter x:Key="reverseConverter"/>
     </UserControl.Resources>
     <Grid x:Name="grid">
         <Grid.RowDefinitions>
@@ -33,14 +35,14 @@
                 <RowDefinition/>
                 <RowDefinition/>
             </Grid.RowDefinitions>
-            
+
             <Grid.ColumnDefinitions>
                 <ColumnDefinition Width="Auto"/>
                 <ColumnDefinition/>
             </Grid.ColumnDefinitions>
-            
+
             <TextBlock FontSize="{Binding ActualWidth,RelativeSource={RelativeSource AncestorType=UserControl}, 
-Converter={StaticResource FontSizeConverter}, ConverterParameter='30,940'}"
+Converter={StaticResource FontSizeConverter}, ConverterParameter='20,940'}"
                    FontWeight="Bold"
                    Margin="0"
                    HorizontalAlignment="Center"
@@ -49,8 +51,10 @@
             <ComboBox Grid.Row="1" FontSize="{Binding ActualWidth,RelativeSource={RelativeSource AncestorType=UserControl}, 
 Converter={StaticResource FontSizeConverter}, ConverterParameter='15,940'}"
                       Style="{StaticResource FormComboxStyle}"
+                      IsEnabled="{Binding IsTesting,Converter={StaticResource reverseConverter}}"
                       pu:ComboBoxHelper.ClearButtonVisibility="Collapsed"
                       BorderBrush="Black"
+                      Height="26"
                       BorderThickness="0,1,0,0"
                       pu:ComboBoxHelper.Watermark="{DynamicResource Tr.ProductInfo}"
                       Width="{Binding ActualWidth,RelativeSource={RelativeSource AncestorType=UserControl}, 
@@ -61,7 +65,7 @@
             <local:InfoTable x:Name="infoTable" Grid.Row="0" Grid.Column="1"
                              Grid.RowSpan="2"
                FontSize="{Binding ActualWidth,RelativeSource={RelativeSource AncestorType=UserControl}, 
-            Converter={StaticResource FontSizeConverter}, ConverterParameter='15,940'}"></local:InfoTable>
+            Converter={StaticResource FontSizeConverter}, ConverterParameter='12,940'}"></local:InfoTable>
         </Grid>
 
         <UniformGrid x:Name="mainGrid" Grid.Row="1" dp:UniformGridHelper.InnerBorder="1"
@@ -71,19 +75,19 @@
         <!--<local:Chart Grid.Row="2" x:Name="chart" BorderThickness="0,1,0,1" BorderBrush="Black" 
                       MouseDoubleClick="chart_MouseDoubleClick"/>-->
 
-        <StatusBar Grid.Row="3">
+        <StatusBar FontSize="14" Grid.Row="3">
             <StatusBar.ItemsPanel>
                 <ItemsPanelTemplate>
                     <DockPanel/>
                 </ItemsPanelTemplate>
             </StatusBar.ItemsPanel>
             <StatusBarItem DockPanel.Dock="Left">
-                <Button Style="{StaticResource LinkButton}" Click="Button_Click_1">鎵爜鏋缃�</Button>
+                <Button Style="{StaticResource LinkButton}" Click="Button_Click_1" Content="{DynamicResource App.ScannerSetting}"/>
             </StatusBarItem>
 
             <StatusBarItem DockPanel.Dock="Right">
                 <StackPanel Orientation="Horizontal" dp:StackPanelHelper.ChildSpace="8">
-                    <Button Style="{StaticResource DeleteLink}" Click="Button_Click_2" Content="鍋滄娴嬭瘯"/>
+                    <!--<Button Style="{StaticResource DeleteLink}" Click="Button_Click_2" Content="鍋滄娴嬭瘯"/>-->
 
                     <StackPanel Orientation="Horizontal">
                         <Ellipse Width="10" Height="10">
@@ -107,24 +111,54 @@
                 </StackPanel>
             </StatusBarItem>
 
+            <StatusBarItem DockPanel.Dock="Right">
+                <Button Click="Manual_Cooler_Opt" x:Name="coolerSetting">
+                    <Button.Style>
+                        <Style TargetType="Button" BasedOn="{StaticResource LinkButton}">
+                            <Setter Property="Content" Value="{DynamicResource Tr.CoolerSetting}"/>
+                            <Setter Property="Foreground" Value="{DynamicResource PrimaryColor}"/>
+                        </Style>
+                    </Button.Style>
+                </Button>
+            </StatusBarItem>
+
             <StatusBarItem >
-                <TextBox IsReadOnly="True" Background="Transparent" BorderThickness="0" Text="{Binding statusText}"/>
+                <TextBox IsReadOnly="True" FontSize="16" Background="Transparent" BorderThickness="0" Text="{Binding statusText}"/>
             </StatusBarItem>
         </StatusBar>
 
-        <Grid Grid.Row="4">
-            <Grid.ColumnDefinitions>
+        <UniformGrid Grid.Row="4" Rows="1">
+            <!--<UniformGrid.ColumnDefinitions>
                 <ColumnDefinition/>
                 <ColumnDefinition/>
+                <ColumnDefinition Width="Auto"/>
                 <ColumnDefinition/>
-            </Grid.ColumnDefinitions>
+            </UniformGrid.ColumnDefinitions>-->
             <Button Click="ScanWindow_Click" Style="{StaticResource PrimaryButton}"
+                    IsEnabled="{Binding IsTesting,Converter={StaticResource reverseBool}}"
         Content="{DynamicResource Tr.Scan}"/>
             <Button Grid.Column="1" Click="ClearAllSnr_Click" Style="{StaticResource DangerButton}"
+                    IsEnabled="{Binding IsTesting,Converter={StaticResource reverseBool}}"
 Content="{DynamicResource Tr.ClearAllSNR}"/>
-            <Button Grid.Column="2" Click="SetStationGlobal_Click" Style="{StaticResource SuccessButton}"
-        Content="{DynamicResource App.Start}"/>
-        </Grid>
-        
+            <!--<Button Grid.Column="2" Click="SetStationGlobal_Click" Style="{StaticResource SuccessButton}"
+        Content="{DynamicResource App.Start}"/> Background="#1296db"-->
+
+            <Button Grid.Column="2" Click="Abort_Click" x:Name="abortBtn"
+        Style="{DynamicResource DangerButton}" Background="#1296db" Content="Abort"/>
+
+            <Button Grid.Column="3" Click="StartSingleClick">
+                <Button.Style>
+                    <Style TargetType="Button" BasedOn="{StaticResource SuccessButton}">
+                        <Setter Property="Content" Value="{DynamicResource App.Start}"/>
+                        <Style.Triggers>
+                            <DataTrigger Binding="{Binding IsTesting}" Value="True">
+                                <Setter Property="Background" Value="{DynamicResource DangerVerBar}"/>
+                                <Setter Property="Content" Value="鍋滄娴嬭瘯"/>
+                            </DataTrigger>
+                        </Style.Triggers>
+                    </Style>
+                </Button.Style>
+            </Button>
+        </UniformGrid>
     </Grid>
 </UserControl>
\ No newline at end of file

--
Gitblit v1.9.1