From d1b72117058f1131046b6aa3add8e3ccfae033d8 Mon Sep 17 00:00:00 2001
From: wenxiangchao <wenxiangchao@ihengxin.com.cn>
Date: 星期一, 09 十一月 2026 10:36:07 +0800
Subject: [PATCH] docs: CAN 模拟器独立 TCP 服务进程设计规格(统一 CanDeviceDriver + 双工推送协议)

---
 Plugin.TestResult/ViewControl.xaml |  134 +++++++++++++++++++++++++++++---------------
 1 files changed, 89 insertions(+), 45 deletions(-)

diff --git a/Plugin.TestResult/ViewControl.xaml b/Plugin.TestResult/ViewControl.xaml
index 7778d89..0b2de18 100644
--- a/Plugin.TestResult/ViewControl.xaml
+++ b/Plugin.TestResult/ViewControl.xaml
@@ -1,16 +1,15 @@
-锘�<hb:PluginControl x:Class="Plugin.TestResult_WPF.ViewControl"
-             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
-             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
-             xmlns:local="clr-namespace:Plugin.TestResult_WPF"
-             xmlns:hb="clr-namespace:HMI.Base;assembly=HMI.Base"
-                  xmlns:uic="clr-namespace:HMI.UI.Converter;assembly=HMI.UI"
-xmlns:ui="clr-namespace:HMI.UI;assembly=HMI.UI"
-xmlns:pw="https://opensource.panuon.com/wpf"
-xmlns:pu="https://opensource.panuon.com/wpf-ui"
-xmlns:dp="clr-namespace:HMI.UI.DpUtil;assembly=HMI.UI"
-             mc:Ignorable="d" 
+锘�<hb:PluginMaskControl x:Class="Plugin.TestResult_WPF.ViewControl"
+                      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+                      xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+                      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+                      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+                      xmlns:hb="clr-namespace:HMI.Base;assembly=HMI.Base"
+                      xmlns:std="clr-namespace:HMI.StdControl;assembly=HMI.StdControl"
+                      xmlns:dp="clr-namespace:HMI.UI.DpUtil;assembly=HMI.UI"
+                      xmlns:local="clr-namespace:Plugin.TestResult_WPF"
+                      xmlns:pu="https://opensource.panuon.com/wpf-ui"
+                      mc:Ignorable="d" 
+                      Style="{StaticResource pluginMaskControl}"
              Loaded="UserControl_Loaded"
              d:DesignHeight="450" d:DesignWidth="800">
     <UserControl.Resources>
@@ -33,19 +32,81 @@
         </Style>
     </UserControl.Resources>
     <Grid>
-        <Grid.ColumnDefinitions>
+        <Grid.RowDefinitions>
+            <RowDefinition Height="Auto"/>
+            <RowDefinition/>
+        </Grid.RowDefinitions>
+        <!--<Grid.ColumnDefinitions>
             <ColumnDefinition Width="7.5*"/>
             <ColumnDefinition Width="*"/>
-        </Grid.ColumnDefinitions>
-        <local:TestResultView x:Name="testResultView" Grid.Column="0" Loaded="testResultView_Loaded" />
-        <StackPanel Grid.Column="1" Background="#FFF">
-            <GroupBox Header="{DynamicResource Tr.ProductInfo}">
-                <ComboBox x:Name="modelSelect" Style="{StaticResource FormComboxStyle}"
-                          SelectionChanged="modelSelect_SelectionChanged"></ComboBox>
-            </GroupBox>
-            <GroupBox Header="{DynamicResource Tr.Status}">
-                <StackPanel>
-                    <Label HorizontalContentAlignment="Center" HorizontalAlignment="Stretch">
+        </Grid.ColumnDefinitions>-->
+        <local:TestResultView x:Name="testResultView" Grid.Row="1" Grid.Column="0" Loaded="testResultView_Loaded" />
+        <DockPanel Margin="10,0" Grid.Row="0" Grid.Column="1" LastChildFill="False" Background="#FFF" VerticalAlignment="Center">
+            <pu:FormGroup DockPanel.Dock="Right">
+                <StackPanel Orientation="Horizontal" VerticalAlignment="Center" dp:StackPanelHelper.ChildSpace="20">
+                    <Button x:Name="btnStart" Click="Start_Click"
+                       Width="100" FontSize="14" Padding="0" Height="30" Content="{DynamicResource App.Start}">
+                        <Button.Style>
+                            <Style TargetType="Button" BasedOn="{StaticResource SuccessButton}">
+                                <Style.Triggers>
+                                    <DataTrigger Binding="{Binding EnableManualDebug}" Value="True">
+                                        <Setter Property="IsEnabled" Value="False"/>
+                                    </DataTrigger>
+                                    <DataTrigger Binding="{Binding IsRunning}" Value="True">
+                                        <Setter Property="IsEnabled" Value="False"/>
+                                    </DataTrigger>
+                                </Style.Triggers>
+                            </Style>
+                        </Button.Style>
+                    </Button>
+
+                    <Button x:Name="btnStop" Click="Stop_Click" Style="{StaticResource DangerButton}"
+                            Width="100" FontSize="14" Padding="0" Height="30"
+                    Content="{DynamicResource App.Stop}"/>
+
+                    <Button x:Name="btnClear" Click="BtnClear_Click" Style="{StaticResource PrimaryButton}"
+                            Width="100" FontSize="14" Padding="0" Height="30"
+                    Content="{DynamicResource Ts.BtnClearNum}"/>
+
+                    <Button x:Name="scannerSetting" Click="ScannerSetting_Click" Style="{StaticResource PrimaryButton}"
+                            Width="100" FontSize="14" Padding="0" Height="30" Content="{DynamicResource App.ScannerSetting}" Cursor="Hand"/>
+
+                    <!--<Button x:Name="btnScan1" Click="Scan_Click_1" Style="{StaticResource PrimaryButton}"
+                    Content="{DynamicResource Tr.Zone1Scan}"/>
+
+            <Button x:Name="btnScan2" Click="Scan_Click_2" Style="{StaticResource PrimaryButton}"
+                    Content="{DynamicResource Tr.Zone2Scan}"/>-->
+                </StackPanel>
+            </pu:FormGroup>
+            <pu:FormGroup Header="{DynamicResource Tr.ProductInfo}" FontSize="16" Visibility="Collapsed">
+                <ComboBox x:Name="modelSelect" Style="{StaticResource FormComboxStyle}" Width="200"
+                          Height="28"
+                          pu:ComboBoxHelper.ClearButtonVisibility="Collapsed"
+                          SelectionChanged="modelSelect_SelectionChanged"/>
+            </pu:FormGroup>
+
+            <pu:FormGroup Header="{DynamicResource Tr.TestProgram}" FontSize="16">
+                <TextBox IsReadOnly="True" x:Name="tbFileName" Style="{StaticResource EditorTextBoxStyle}" Width="200"
+Height="28" Text="{Binding FileName}"/>
+            </pu:FormGroup>
+
+            <pu:FormGroup>
+                <std:StdEnableMes DockPanel.Dock="Left" FontSize="20" 
+                                  x:Name="stdEnableMes"
+                                  ValueChanged="StdEnableMes_ValueChanged"/>
+            </pu:FormGroup>
+
+            <pu:FormGroup x:Name="FgEnableManualDebug" Visibility="Collapsed">
+                <CheckBox FontSize="20"
+                          IsChecked="{Binding EnableManualDebug,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" 
+          VerticalContentAlignment="Center"
+          Content="鎵嬪姩璋冭瘯" />
+            </pu:FormGroup>
+
+
+            <!--<pu:FormGroup Header="{DynamicResource Tr.Status}" FontSize="16">
+                <StackPanel Orientation="Horizontal" dp:StackPanelHelper.ChildSpace="10">
+                    <Label HorizontalContentAlignment="Center" VerticalAlignment="Center">
                         <Label.Style>
                             <Style TargetType="Label">
                                 <Setter Property="HorizontalContentAlignment"  Value="Center"/>
@@ -71,6 +132,7 @@
                             <Style TargetType="Label">
                                 <Setter Property="HorizontalContentAlignment"  Value="Center"/>
                                 <Setter Property="HorizontalAlignment"  Value="Stretch"/>
+                                <Setter Property="VerticalAlignment"  Value="Center"/>
                                 <Setter Property="Content" Value="{Binding produceStatus}"/>
                                 <Setter Property="Margin" Value="0,10"/>
                                 <Style.Triggers>
@@ -91,25 +153,7 @@
                         </Label.Style>
                     </Label>
                 </StackPanel>
-            </GroupBox>
-            <GroupBox Header="鎿嶄綔">
-                <StackPanel dp:StackPanelHelper.ChildSpace="20">
-                    <Button x:Name="btnStart" Click="Start_Click" Style="{StaticResource SuccessButton}"
-                            Content="{DynamicResource App.Start}"/>
-
-                    <Button x:Name="btnStop" Click="Stop_Click" Style="{StaticResource DangerButton}"
-                            Content="{DynamicResource App.Stop}"/>
-
-                    <Button x:Name="btnClear" Click="BtnClear_Click" Style="{StaticResource PrimaryButton}"
-                            Content="{DynamicResource Ts.BtnClearNum}"/>
-
-                    <Button x:Name="btnScan1" Click="Scan_Click_1" Style="{StaticResource PrimaryButton}"
-                            Content="{DynamicResource Tr.Zone1Scan}"/>
-
-                    <Button x:Name="btnScan2" Click="Scan_Click_2" Style="{StaticResource PrimaryButton}"
-                            Content="{DynamicResource Tr.Zone2Scan}"/>
-                </StackPanel>
-            </GroupBox>
-        </StackPanel>
+            </pu:FormGroup>-->
+        </DockPanel>
     </Grid>
-</hb:PluginControl>
+</hb:PluginMaskControl>

--
Gitblit v1.9.1