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.TestResult/SingleCell.xaml |  164 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 164 insertions(+), 0 deletions(-)

diff --git a/Plugin.TestResult/SingleCell.xaml b/Plugin.TestResult/SingleCell.xaml
new file mode 100644
index 0000000..9a6c1dc
--- /dev/null
+++ b/Plugin.TestResult/SingleCell.xaml
@@ -0,0 +1,164 @@
+锘�<UserControl x:Class="Plugin.TestResult_WPF.SingleCell"
+             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"
+             mc:Ignorable="d" 
+             xmlns:pw="https://opensource.panuon.com/wpf"
+xmlns:pu="https://opensource.panuon.com/wpf-ui"
+xmlns:ui="clr-namespace:HMI.UI;assembly=HMI.UI"
+             x:Name="uc"
+             PreviewMouseRightButtonDown="OnPreviewMouseRightButtonDown"
+             MouseDoubleClick="UserControl_MouseDoubleClick"
+             d:DesignHeight="450" d:DesignWidth="800">
+    <UserControl.Resources>
+        <local:FontSizeConverter x:Key="FontSizeConverter"/>
+    </UserControl.Resources>
+
+    <!--<UserControl.ToolTip>
+        <ToolTip Padding="5" BorderThickness="1" BorderBrush="Black" Background="Yellow" Content="{Binding tooltipContent}"/>
+    </UserControl.ToolTip>-->
+
+    <!--<UserControl.ContextMenu>
+        <ContextMenu>
+            <MenuItem IsCheckable="False" DataContext="{Binding table}" IsEnabled="{Binding IsTesting,Converter={StaticResource reverseBool}}" x:Name="clearSNRItem" Click="MenuItem_Click" Header="{DynamicResource Tr.ClearSNR}"/>
+            <MenuItem IsCheckable="False" x:Name="exportCSVItem" Click="MenuItem_Click" Header="{DynamicResource App.ExportCSV}"/>
+            <MenuItem IsCheckable="False" x:Name="manualDebugItem" Click="MenuItem_Click" Header="鎵嬪姩璋冭瘯">
+                <MenuItem.Style>
+                    <Style TargetType="MenuItem" BasedOn="{StaticResource {x:Static pu:StyleKeys.MenuItemStyle}}">
+
+                    </Style>
+                </MenuItem.Style>
+            </MenuItem>
+        </ContextMenu>
+    </UserControl.ContextMenu>-->
+
+    <UserControl.Style>
+        <Style TargetType="UserControl">
+            <Style.Triggers>
+                <DataTrigger Binding="{Binding status}" Value="ok">
+                    <Setter Property="Background" Value="#FF0F8853"/>
+                </DataTrigger>
+                <DataTrigger Binding="{Binding status}" Value="ng">
+                    <Setter Property="Background" Value="#fd6b6d"/>
+                </DataTrigger>
+                <DataTrigger Binding="{Binding status}" Value="checkInFailed">
+                    <Setter Property="Background" Value="#ffac00"/>
+                </DataTrigger>
+                <DataTrigger Binding="{Binding status}" Value="checkIn">
+                    <Setter Property="Background" Value="#FF00E2FF"/>
+                </DataTrigger>
+                <DataTrigger Binding="{Binding status}" Value="testing">
+                    <Setter Property="Background" Value="#1296db"/>
+                </DataTrigger>
+                <DataTrigger Binding="{Binding status}" Value="waiting">
+                    <Setter Property="Background" Value="#A5A5A5"/>
+                </DataTrigger>
+                <DataTrigger Binding="{Binding status}" Value="alert">
+                    <Setter Property="Background" Value="#e04733"/>
+                </DataTrigger>
+                <DataTrigger Binding="{Binding status}" Value="ready">
+                    <Setter Property="Background" Value="#FF08FF00"/>
+                </DataTrigger>
+                <DataTrigger Binding="{Binding status}" Value="hadCode">
+                    <Setter Property="Background" Value="#FFF"/>
+                </DataTrigger>
+                <DataTrigger Binding="{Binding status}" Value="abort">
+                    <Setter Property="Background" Value="Black"/>
+                </DataTrigger>
+            </Style.Triggers>
+        </Style>
+    </UserControl.Style>
+    <Grid>
+        <Grid.RowDefinitions>
+            <RowDefinition />
+            <RowDefinition Height="14"/>
+            <RowDefinition Height="14"/>
+        </Grid.RowDefinitions>
+        <Grid.ColumnDefinitions>
+            <ColumnDefinition/>
+            <ColumnDefinition Width="Auto"/>
+        </Grid.ColumnDefinitions>
+        <Label Grid.Row="0" Grid.Column="0" HorizontalContentAlignment="Left" VerticalContentAlignment="Top" Padding="0" Margin="5,5,0,0" 
+      FontSize="{Binding ActualWidth,RelativeSource={RelativeSource AncestorType=UserControl}, 
+   Converter={StaticResource FontSizeConverter}, ConverterParameter='8,103'}" 
+      FontWeight="Bold"
+Background="Transparent" BorderThickness="0" Content="{Binding title}">
+            <Label.Style>
+                <Style TargetType="Label">
+                    <Style.Triggers>
+                        <DataTrigger Binding="{Binding status}" Value="abort">
+                            <Setter Property="Foreground" Value="#FFF"/>
+                        </DataTrigger>
+                    </Style.Triggers>
+                </Style>
+            </Label.Style>
+        </Label>
+
+        <Image Grid.Row="0" Grid.Column="1" Width="{Binding ActualWidth,RelativeSource={RelativeSource AncestorType=UserControl}, 
+   Converter={StaticResource FontSizeConverter}, ConverterParameter='10,20'}" HorizontalAlignment="Right"
+               Margin="0,5,5,0">
+            <Image.Style>
+                <Style TargetType="Image">
+                    <Setter Property="HorizontalAlignment" Value="Center"/>
+                    <Setter Property="VerticalAlignment" Value="Top"/>
+                    <Style.Triggers>
+                        <DataTrigger Binding="{Binding status}" Value="ok">
+                            <Setter Property="Source" Value="Resource/ok2.png"/>
+                        </DataTrigger>
+                        <DataTrigger Binding="{Binding status}" Value="ng">
+                            <Setter Property="Source" Value="Resource/ng2.png"/>
+                        </DataTrigger>
+                        <DataTrigger Binding="{Binding status}" Value="checkInFailed">
+                            <Setter Property="Source" Value="Resource/checkInFailed2.png"/>
+                        </DataTrigger>
+                        <DataTrigger Binding="{Binding status}" Value="checkIn">
+                            <Setter Property="Source" Value="Resource/checkIn.png"/>
+                        </DataTrigger>
+                        <DataTrigger Binding="{Binding status}" Value="testing">
+                            <Setter Property="Source" Value="Resource/testing2.png"/>
+                        </DataTrigger>
+                        <DataTrigger Binding="{Binding status}" Value="waiting">
+                            <Setter Property="Source" Value="Resource/waiting2.png"/>
+                        </DataTrigger>
+                        <DataTrigger Binding="{Binding status}" Value="alert">
+                            <Setter Property="Source" Value="Resource/alert.png"/>
+                        </DataTrigger>
+                        <DataTrigger Binding="{Binding status}" Value="ready">
+                            <Setter Property="Source" Value="Resource/ready.png"/>
+                        </DataTrigger>
+                        <DataTrigger Binding="{Binding status}" Value="hadCode">
+                            <Setter Property="Source" Value="Resource/barcode.png"/>
+                        </DataTrigger>
+                        <DataTrigger Binding="{Binding status}" Value="abort">
+                            <Setter Property="Source" Value="Resource/abort.png"/>
+                        </DataTrigger>
+                    </Style.Triggers>
+                </Style>
+            </Image.Style>
+        </Image>
+
+        <ui:ScrollLabel Grid.Row="1" Grid.Column="0" FontSize="10" Grid.ColumnSpan="2" Margin="3,0,0,0" Padding="0" Value="{Binding sn}"/>
+
+        <StackPanel Orientation="Horizontal" Background="LightGray" Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" VerticalAlignment="Top" HorizontalAlignment="Right">
+            <TextBlock Foreground="Red" Text="{DynamicResource Ts.ProbeAlarm}" FontSize="10">
+                <TextBlock.Style>
+                    <Style TargetType="TextBlock">
+                        <Setter Property="Visibility" Value="Collapsed"/>
+                        <Style.Triggers>
+                            <DataTrigger Binding="{Binding probeAlarm}" Value="True">
+                                <Setter Property="Visibility" Value="Visible"/>
+                            </DataTrigger>
+                        </Style.Triggers>
+                    </Style>
+                </TextBlock.Style>
+            </TextBlock>
+            <TextBlock Margin="0" FontSize="10">
+        <Run Text="{Binding ProbeCount}"/>
+        <Run Text="/"/>
+        <Run Text="{Binding ProbeWarn}"/>
+            </TextBlock>
+        </StackPanel>
+    </Grid>
+</UserControl>

--
Gitblit v1.9.1