From 9d1660270272180cd71147d6ddd53d1382643d2e Mon Sep 17 00:00:00 2001
From: wenxiangchao <wenxiangchao@ihengxin.com.cn>
Date: 星期一, 02 十一月 2026 18:00:14 +0800
Subject: [PATCH] merge: 并入远程 Initial commit 作为历史根节点

---
 Plugin.BurnIn/ManualDebug/ManualDebug.xaml |  212 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 212 insertions(+), 0 deletions(-)

diff --git a/Plugin.BurnIn/ManualDebug/ManualDebug.xaml b/Plugin.BurnIn/ManualDebug/ManualDebug.xaml
new file mode 100644
index 0000000..077b360
--- /dev/null
+++ b/Plugin.BurnIn/ManualDebug/ManualDebug.xaml
@@ -0,0 +1,212 @@
+<UserControl x:Class="Plugin.BurnIn.ManualDebug"
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+        xmlns:local="clr-namespace:Plugin.BurnIn"
+        xmlns:dp="clr-namespace:HMI.UI.DpUtil;assembly=HMI.UI"
+        mc:Ignorable="d"
+        x:Name="self"
+        MinHeight="400" MinWidth="500">
+
+    <UserControl.Resources>
+        <ResourceDictionary>
+            <ResourceDictionary.MergedDictionaries>
+                <ResourceDictionary Source="/Util.ManualDebug;component/ManualDebugStyle.xaml"/>
+            </ResourceDictionary.MergedDictionaries>
+        </ResourceDictionary>
+    </UserControl.Resources>
+
+    <Grid>
+        <Grid.RowDefinitions>
+            <RowDefinition/>
+            <RowDefinition Height="Auto"/>
+        </Grid.RowDefinitions>
+        <Grid Margin="10">
+            <Grid.ColumnDefinitions>
+                <ColumnDefinition Width="Auto"/>
+                <ColumnDefinition/>
+            </Grid.ColumnDefinitions>
+
+            <Grid x:Name="CellSelectBorder">
+                <Grid.RowDefinitions>
+                    <RowDefinition/>
+                    <RowDefinition/>
+                </Grid.RowDefinitions>
+
+                <Border Background="{StaticResource TsPanelBrush}" Margin="0,0,10,5"
+BorderBrush="{StaticResource BorderBrush}" 
+BorderThickness="1" CornerRadius="4" Padding="15">
+                    <StackPanel>
+                        <TextBlock Text="绌翠綅閫夋嫨" FontSize="14" FontWeight="SemiBold" 
+           Foreground="{StaticResource PrimaryBrush}" Margin="0,0,0,15"/>
+
+                        <UniformGrid IsEnabled="False" x:Name="CellGrid" dp:UniformGridHelper.InnerBorder="1"
+ dp:UniformGridHelper.InnerBorderBrush="{StaticResource BorderBrush}">
+
+                        </UniformGrid>
+                    </StackPanel>
+                </Border>
+
+                <Border Grid.Row="1" Background="{StaticResource TsPanelBrush}" Margin="0,5,10,0"
+BorderBrush="{StaticResource BorderBrush}" 
+BorderThickness="1" CornerRadius="4" Padding="15">
+                    <StackPanel>
+                        <TextBlock Text="绌翠綅娴嬭瘯缁撴灉" FontSize="14" FontWeight="SemiBold" 
+           Foreground="{StaticResource PrimaryBrush}" Margin="0,0,0,15"/>
+
+                        <UniformGrid IsEnabled="False" x:Name="CellResultGrid" dp:UniformGridHelper.InnerBorder="1"
+ dp:UniformGridHelper.InnerBorderBrush="{StaticResource BorderBrush}">
+
+                        </UniformGrid>
+                    </StackPanel>
+                </Border>
+            </Grid>
+
+            <Grid Grid.Column="1">
+                <Grid.RowDefinitions>
+                    <RowDefinition Height="Auto"/>
+                    <RowDefinition Height="5"/>
+                    <RowDefinition Height="*"/>
+                    <RowDefinition Height="5"/>
+                    <RowDefinition Height="*"/>
+                </Grid.RowDefinitions>
+                <WindowsFormsHost x:Name="host" Visibility="Collapsed"></WindowsFormsHost>
+
+                <!-- 鎸夐挳鍜岀姸鎬佸尯鍩� -->
+                <Border Grid.Row="0" Background="{StaticResource TsPanelBrush}" 
+                BorderBrush="{StaticResource BorderBrush}" 
+                BorderThickness="1" CornerRadius="4" Padding="15">
+                    <StackPanel>
+                        <TextBlock Text="鎵嬪姩璋冭瘯鎺у埗" FontSize="14" FontWeight="SemiBold" 
+                           Foreground="{StaticResource PrimaryBrush}" Margin="0,0,0,15"/>
+
+                        <WrapPanel x:Name="btnPanel">
+
+                        </WrapPanel>
+                    </StackPanel>
+                </Border>
+
+                <!-- 鍒嗛殧鏉�1 -->
+                <GridSplitter Grid.Row="1" Height="5" HorizontalAlignment="Stretch" 
+                      Background="Transparent" Cursor="SizeNS"/>
+
+                <!-- TX/RX 鏁版嵁鍖哄煙 -->
+                <Border Grid.Row="2" Background="{StaticResource TsPanelBrush}" 
+                BorderBrush="{StaticResource BorderBrush}" 
+                BorderThickness="1" CornerRadius="4" Padding="10">
+                    <Grid>
+                        <Grid.RowDefinitions>
+                            <RowDefinition Height="Auto"/>
+                            <RowDefinition Height="*"/>
+                        </Grid.RowDefinitions>
+
+                        <StackPanel Orientation="Horizontal" Grid.Row="0" Margin="0,0,0,10">
+                            <TextBlock Text="娴嬭瘯鏁版嵁" FontSize="14" FontWeight="SemiBold" 
+                               Foreground="{StaticResource PrimaryBrush}" VerticalAlignment="Center"/>
+                            <Button Content="娓呯┖" Style="{StaticResource ActionButtonStyle}" 
+                            Margin="15,0,0,0" Click="OnClearClick"/>
+                        </StackPanel>
+
+                        <DataGrid x:Name="DataGridComm" Grid.Row="1"
+                          ItemsSource="{Binding TestData,ElementName=self}">
+                            <DataGrid.Columns>
+                                <DataGridTextColumn Header="娴嬭瘯椤�" Binding="{Binding Name}" Width="120" IsReadOnly="True"/>
+                                <DataGridTextColumn Header="鏀�" Binding="{Binding Receive}" Width="*" IsReadOnly="True"/>
+                                <DataGridTextColumn Header="鍙�" Binding="{Binding Send}" Width="*" IsReadOnly="True"/>
+                                <DataGridTextColumn Header="鍗曚綅" Binding="{Binding Unit}" Width="60" IsReadOnly="True"/>
+                                <DataGridTextColumn Header="涓婇檺" Binding="{Binding UpperLimit}" Width="80" IsReadOnly="True"/>
+                                <DataGridTextColumn Header="涓嬮檺" Binding="{Binding LowerLimit}" Width="80" IsReadOnly="True"/>
+                                <DataGridTextColumn Header="缁撴灉" Binding="{Binding Result}" Width="70" IsReadOnly="True"/>
+                                <DataGridTextColumn Header="鏃堕棿" Binding="{Binding Time}" Width="90" IsReadOnly="True"/>
+                            </DataGrid.Columns>
+                            <DataGrid.RowStyle>
+                                <Style TargetType="DataGridRow">
+                                    <Style.Triggers>
+                                        <DataTrigger Value="True">
+                                            <DataTrigger.Binding>
+                                                <MultiBinding Converter="{x:Static local:ResultFailedConverter.Instance}">
+                                                    <Binding Path="Result"/>
+                                                </MultiBinding>
+                                            </DataTrigger.Binding>
+                                            <Setter Property="Background" Value="#FFE0E0"/>
+                                            <Setter Property="Foreground" Value="#C53030"/>
+                                        </DataTrigger>
+                                    </Style.Triggers>
+                                </Style>
+                            </DataGrid.RowStyle>
+                        </DataGrid>
+                    </Grid>
+                </Border>
+
+                <!-- 鍒嗛殧鏉�2 -->
+                <GridSplitter Grid.Row="3" Height="5" HorizontalAlignment="Stretch" 
+                      Background="Transparent" Cursor="SizeNS"/>
+
+                <!-- 鏃ュ織鍖哄煙 -->
+                <Border Grid.Row="4" Background="{StaticResource TsPanelBrush}" 
+                BorderBrush="{StaticResource BorderBrush}" 
+                BorderThickness="1" CornerRadius="4" Padding="10">
+                    <Grid>
+                        <Grid.RowDefinitions>
+                            <RowDefinition Height="Auto"/>
+                            <RowDefinition Height="*"/>
+                        </Grid.RowDefinitions>
+
+                        <StackPanel Orientation="Horizontal" Grid.Row="0" Margin="0,0,0,8">
+                            <TextBlock Text="鏃ュ織" FontSize="14" FontWeight="SemiBold" 
+                               Foreground="{StaticResource PrimaryBrush}" VerticalAlignment="Center"/>
+                            <Button Content="娓呯┖鏃ュ織" Style="{StaticResource ActionButtonStyle}" 
+                            Margin="15,0,0,0" Click="OnClearLogClick"/>
+                        </StackPanel>
+
+                        <RichTextBox x:Name="LogRichTextBox" Grid.Row="1"
+                             IsReadOnly="True"
+                             VerticalScrollBarVisibility="Auto"
+                             FontFamily="Consolas"
+                             FontSize="11"
+                             BorderThickness="1"
+                             BorderBrush="Black" 
+                             Padding="4"/>
+                    </Grid>
+                </Border>
+            </Grid>
+            <Border Background="#AAFFFFFF" Grid.ColumnSpan="2" x:Name="mask">
+                <TextBlock Text="鍒濆鍖栦腑..." 
+                       FontSize="16" FontWeight="Bold" Foreground="{StaticResource PrimaryBrush}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
+            </Border>
+        </Grid>
+
+        <StatusBar FontSize="14" Grid.Row="1">
+            <StatusBar.ItemsPanel>
+                <ItemsPanelTemplate>
+                    <DockPanel LastChildFill="False"/>
+                </ItemsPanelTemplate>
+            </StatusBar.ItemsPanel>
+
+            <StatusBarItem DockPanel.Dock="Left">
+                <StackPanel Orientation="Horizontal" dp:StackPanelHelper.ChildSpace="8">
+                    <StackPanel Orientation="Horizontal">
+                        <Ellipse Width="10" Height="10">
+                            <Ellipse.Style>
+                                <Style TargetType="Ellipse">
+                                    <Setter Property="Fill" Value="LightGray"/>
+                                    <Style.Triggers>
+                                        <DataTrigger Binding="{Binding TcpServerStatus,ElementName=self}" Value="ERROR">
+                                            <Setter Property="Fill" Value="Red"/>
+                                        </DataTrigger>
+                                        <DataTrigger Binding="{Binding TcpServerStatus,ElementName=self}" Value="RUNNING">
+                                            <Setter Property="Fill" Value="Green"/>
+                                        </DataTrigger>
+                                    </Style.Triggers>
+                                </Style>
+                            </Ellipse.Style>
+                        </Ellipse>
+                        <TextBlock Text="{Binding TcpServerInfo,ElementName=self}"/>
+                        <Button Padding="0" Margin="0" BorderThickness="0" Command="{Binding StartTcpServerCommand,ElementName=self}">馃攧</Button>
+                    </StackPanel>
+                </StackPanel>
+            </StatusBarItem>
+        </StatusBar>
+    </Grid>
+</UserControl>

--
Gitblit v1.9.1