wenxiangchao
2026-11-02 9d1660270272180cd71147d6ddd53d1382643d2e
Plugin.TsExecution/SingleControl.xaml
@@ -7,17 +7,21 @@
             xmlns:pw="https://opensource.panuon.com/wpf"
             xmlns:pu="https://opensource.panuon.com/wpf-ui"
             xmlns:local="clr-namespace:Plugin.TsExecution"
             xmlns:cdp="clr-namespace:HMI.Core.DpUtil;assembly=HMI.Core"
             mc:Ignorable="d" 
             xmlns:sys="clr-namespace:System;assembly=mscorlib"
             Loaded="UserControl_Loaded"
             Background="#ccc6c7"
             PreviewMouseRightButtonDown="control_PreviewMouseRightButtonDown"
             FontSize="{Binding ActualHeight,RelativeSource={RelativeSource AncestorType=UserControl}, 
Converter={StaticResource hfc}, ConverterParameter='12,816'}"
             x:Name="control"
             SizeChanged="control_SizeChanged"
             d:DesignHeight="450" d:DesignWidth="800">
    <UserControl.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/HMI.UI;component/Style/PanuonListView.xaml"/>
                <ResourceDictionary Source="/HMI.UI;component/Style/PanuonDataGrid.xaml"/>
            </ResourceDictionary.MergedDictionaries>
            <sys:Double x:Key="nanD">NaN</sys:Double>
@@ -27,14 +31,14 @@
                <Setter Property="VerticalContentAlignment" Value="Center"/>
                <Setter Property="Padding" Value="5"/>
                <Setter Property="FontSize" Value="{Binding ActualWidth,ElementName=control,
Converter={StaticResource fc}, ConverterParameter='20,1093,20'}"/>
Converter={StaticResource fc}, ConverterParameter='25,1093'}"/>
            </Style>
            <Style TargetType="TextBlock" x:Key="baseText">
                <Setter Property="HorizontalAlignment" Value="Left"/>
                <Setter Property="VerticalAlignment" Value="Center"/>
                <Setter Property="Padding" Value="0,0,2,0"/>
                <Setter Property="FontSize" Value="{Binding ActualWidth,ElementName=control,
Converter={StaticResource fc}, ConverterParameter='20,1093,20'}"/>
Converter={StaticResource fc}, ConverterParameter='25,1093'}"/>
            </Style>
            <Brush x:Key="passedColor">#beed00</Brush>
        </ResourceDictionary>
@@ -49,21 +53,20 @@
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>
        <Grid dp:GridHelper.InnerBorder="1" dp:GridHelper.Space="5"
              dp:GridHelper.InnerBorderBrush="{StaticResource CommonBoarder}">
        <Grid dp:GridHelper.InnerBorder="1" dp:GridHelper.Space="2" x:Name="tableHeader"
              dp:GridHelper.InnerBorderBrush="{DynamicResource CommonBoarder}">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition/>
                <RowDefinition/>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto"/>
                <ColumnDefinition/>
                <ColumnDefinition />
                <ColumnDefinition Width="Auto"/>
            </Grid.ColumnDefinitions>
            <StackPanel Grid.RowSpan="3">
                <StackPanel.Style>
                    <Style TargetType="StackPanel">
                        <Setter Property="Background" Value="DeepSkyBlue"/>
                        <Style.Triggers>
                            <DataTrigger Binding="{Binding Status}" Value="Passed">
                                <Setter Property="Background" Value="{StaticResource passedColor}"/>
@@ -72,10 +75,10 @@
                                <Setter Property="Background" Value="Gold"/>
                            </DataTrigger>
                            <DataTrigger Binding="{Binding Status}" Value="Failed">
                                <Setter Property="Background" Value="{StaticResource DangerColor}"/>
                                <Setter Property="Background" Value="{DynamicResource DangerColor}"/>
                            </DataTrigger>
                            <DataTrigger Binding="{Binding Status}" Value="Failed">
                                <Setter Property="Background" Value="{StaticResource DangerColor}"/>
                                <Setter Property="Background" Value="{DynamicResource DangerColor}"/>
                            </DataTrigger>
                            <DataTrigger Binding="{Binding Status}" Value="Ready">
                                <Setter Property="Background" Value="DeepSkyBlue"/>
@@ -87,6 +90,7 @@
                <Label>
                    <Label.Style>
                        <Style TargetType="Label">
                            <Setter Property="VerticalAlignment" Value="Center"/>
                            <Setter Property="Padding" Value="10,10,10,0"/>
                            <Setter Property="Margin" Value="0"/>
                            <Setter Property="FontFamily" Value="{StaticResource iconfont}"/>
@@ -106,11 +110,11 @@
                                </DataTrigger>
                                <DataTrigger Binding="{Binding Status}" Value="Failed">
                                    <Setter Property="Content" Value="&#xe604;"/>
                                    <Setter Property="Background" Value="{StaticResource DangerColor}"/>
                                    <Setter Property="Background" Value="{DynamicResource DangerColor}"/>
                                </DataTrigger>
                                <DataTrigger Binding="{Binding Status}" Value="Failed">
                                    <Setter Property="Content" Value="&#xe604;"/>
                                    <Setter Property="Background" Value="{StaticResource DangerColor}"/>
                                    <Setter Property="Background" Value="{DynamicResource DangerColor}"/>
                                </DataTrigger>
                                <DataTrigger Binding="{Binding Status}" Value="Ready">
                                    <Setter Property="Content" Value="&#xe6ae;"/>
@@ -121,9 +125,8 @@
                    </Label.Style>
                </Label>
                <Label Content="{Binding Status}" VerticalContentAlignment="Center"
                       Padding="0"
                       Margin="0"
                <Label Content="{Binding Status}" VerticalAlignment="Center" VerticalContentAlignment="Center"
                       Padding="0" Margin="0"
                       HorizontalContentAlignment="Center"
                       Foreground="#FFF"
                       FontWeight="Bold"
@@ -133,7 +136,7 @@
            <!--<Label HorizontalContentAlignment="Left" Grid.Column="1" Content="{Binding Status}"/>-->
            <Label Style="{StaticResource baseLabel}" Background="#FFF" Grid.Row="1" Grid.Column="1">
            <Label Style="{StaticResource baseLabel}" Background="#FFF" Grid.Row="0" Grid.Column="1">
                <StackPanel Orientation="Horizontal">
                    <TextBlock Style="{StaticResource baseText}" Text="{DynamicResource Ts.Total}"/>
                    <TextBlock Style="{StaticResource baseText}" Margin="2,0,18,0" Text="{Binding TotalNum}"/>
@@ -148,7 +151,7 @@
                </StackPanel>
            </Label>
            <Label Style="{StaticResource baseLabel}" Background="#FFF" Grid.Row="2" Grid.Column="1">
            <Label Style="{StaticResource baseLabel}" Background="#FFF" Grid.Row="1" Grid.Column="1">
                <StackPanel Orientation="Horizontal">
                    <Label Style="{StaticResource baseLabel}" Content="{DynamicResource Ts.CurrentSnr}"/>
                    <Label Style="{StaticResource baseLabel}" Margin="2,0,18,0" Content="{Binding Barcode}"/>
@@ -156,9 +159,12 @@
                    <Label Style="{StaticResource baseLabel}" Margin="2,0,18,0" Content="{Binding ElapseTime}"/>
                </StackPanel>
            </Label>
            <Border x:Name="screenContainer" BorderThickness="0" Grid.Column="2" Grid.RowSpan="2" MouseLeftButtonDown="screenContainer_MouseLeftButtonDown">
            </Border>
        </Grid>
        <Grid Grid.Row="2" x:Name="simplePanel" dp:GridHelper.Space="5" dp:GridHelper.SpaceIgnore="TOP">
        <Grid Grid.Row="2" x:Name="simplePanel" dp:GridHelper.Space="2" dp:GridHelper.SpaceIgnore="TOP">
            <Grid.RowDefinitions>
                <RowDefinition/>
                <RowDefinition Height="Auto"/>
@@ -178,7 +184,7 @@
                                <Setter Property="Foreground" Value="#000"/>
                            </DataTrigger>
                            <DataTrigger Binding="{Binding Status}" Value="Failed">
                                <Setter Property="Background" Value="{StaticResource DangerColor}"/>
                                <Setter Property="Background" Value="{DynamicResource DangerColor}"/>
                                <Setter Property="Content" Value="--FAIL--"/>
                                <Setter Property="Foreground" Value="#000"/>
                            </DataTrigger>
@@ -202,108 +208,222 @@
                <RowDefinition Height="Auto"/>
            </Grid.RowDefinitions>
            <DataGrid Grid.Row="0" Style="{StaticResource DefaultDataGrid}"
                      Margin="5,0,5,5"
                  pu:DataGridHelper.ColumnHeaderFontSize="{Binding ActualWidth,
            <!--<ListView Grid.Row="0" Style="{StaticResource DefaultListTable}" x:Name="table"
                      ItemsSource="{Binding Datasource}"
                      VirtualizingPanel.IsContainerVirtualizable="True"
VirtualizingPanel.IsVirtualizing="True"
VirtualizingPanel.VirtualizationMode="Recycling"
                      pu:ListViewHelper.ItemsHeight="{StaticResource nanD}"
                      pu:ListViewHelper.ColumnHeaderFontSize="{Binding ActualWidth,
            ElementName=control,
Converter={StaticResource fc}, ConverterParameter='15,1093,15,22'}"
            FontSize="{Binding ActualWidth,
                                  FontSize="{Binding ActualWidth,
            ElementName=control,
Converter={StaticResource fc}, ConverterParameter='15,1093,15,20'}"
                  pu:DataGridHelper.ColumnHeaderPadding="3"
                      pu:ListViewHelper.ColumnHeaderHeight="{Binding ActualWidth,ElementName=control,
Converter={StaticResource fc}, ConverterParameter='30,1093,-1,45'}">
                <ListView.View>
                    <GridView AllowsColumnReorder="False">
                        <GridViewColumn Width="60" Header="#">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding Converter={StaticResource lvRowNumber},
RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=ListViewItem,AncestorLevel=1}}"/>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn Width="200">
                            <GridViewColumn.Header>
                                <TextBlock Text="{DynamicResource Test.Name}"/>
                            </GridViewColumn.Header>
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <DockPanel>
                                        <Border Style="{StaticResource CellBorder}">
                                            <TextBlock Style="{StaticResource ListTableTextBlock}"
                                                       Text="{Binding Name}"/>
                                        </Border>
                                    </DockPanel>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn Width="100">
                            <GridViewColumn.Header>
                                <TextBlock Text="{DynamicResource Test.Unit}"/>
                            </GridViewColumn.Header>
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <Grid HorizontalAlignment="Stretch" VerticalAlignment="Center">
                                    <Border Style="{StaticResource CellBorder}" MouseDown="TextBlock_MouseDown">
                                        <TextBlock Style="{StaticResource ListTableTextBlock}"
                                                   Text="{Binding Unit}"/>
                                        </Border>
                                    </Grid>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn Width="120">
                            <GridViewColumn.Header>
                                <TextBlock Text="{DynamicResource Test.Value}"/>
                            </GridViewColumn.Header>
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <Border Style="{StaticResource CellBorder}">
                                        <TextBlock Style="{StaticResource ListTableTextBlock}"
                                                   Text="{Binding Value}"/>
                                    </Border>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn Width="120">
                            <GridViewColumn.Header>
                                <TextBlock Text="{DynamicResource Test.LimitDown}"/>
                            </GridViewColumn.Header>
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <Border Style="{StaticResource CellBorder}">
                                        <TextBlock Style="{StaticResource ListTableTextBlock}"
                                                   Text="{Binding LimitDown}"/>
                                    </Border>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn Width="120">
                            <GridViewColumn.Header>
                                <TextBlock Text="{DynamicResource Test.LimitUp}"/>
                            </GridViewColumn.Header>
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <Border Style="{StaticResource CellBorder}">
                                        <TextBlock Style="{StaticResource ListTableTextBlock}"
                                                   Text="{Binding LimitUp}"/>
                                    </Border>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn Width="180">
                            <GridViewColumn.Header>
                                <TextBlock Text="{DynamicResource Test.ConsumeTime}"/>
                            </GridViewColumn.Header>
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <Border Style="{StaticResource CellBorder}">
                                        <TextBlock Style="{StaticResource ListTableTextBlock}"
                                                   Text="{Binding ConsumeTime}"/>
                                    </Border>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn Width="120">
                            <GridViewColumn.Header>
                                <TextBlock Text="{DynamicResource Test.Result}"/>
                            </GridViewColumn.Header>
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <Grid x:Name="border" Margin="0">
                                        <TextBlock x:Name="text" Margin="-1" Padding="0" VerticalAlignment="Center" Text="{Binding Result}"/>
                                    </Grid>
                                    <DataTemplate.Triggers>
                                        <DataTrigger Binding="{Binding Result}" Value="Passed">
                                            <Setter TargetName="border" Property="Background" Value="{StaticResource passedColor}"/>
                                            <Setter TargetName="text" Property="Foreground" Value="#000"/>
                                        </DataTrigger>
                                        <DataTrigger Binding="{Binding Result}" Value="Failed">
                                            <Setter TargetName="border" Property="Background" Value="{DynamicResource DangerColor}"/>
                                            <Setter TargetName="text" Property="Foreground" Value="#000"/>
                                        </DataTrigger>
                                    </DataTemplate.Triggers>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                    </GridView>
                </ListView.View>
            </ListView>-->
            <Canvas Grid.Row="0" x:Name="canvas" Background="Transparent">
                <DataGrid Canvas.Left="0" Canvas.Top="0" Height="{Binding ActualHeight,ElementName=canvas}"
                          Width="{Binding ActualWidth,ElementName=canvas}"
                          Style="{StaticResource DefaultDataGrid}" Margin="2,0,2,2"
                  FontSize="{DynamicResource tableFontSize}"
                  dp:DataGridHelper.ShowRowNumber="True"
                  VirtualizingPanel.IsContainerVirtualizable="True"
                  VirtualizingPanel.IsVirtualizing="True" 
                  VirtualizingPanel.VirtualizationMode="Recycling"
                  RowHeight="{StaticResource nanD}"
                  ColumnHeaderHeight="{Binding ActualWidth,ElementName=control,
Converter={StaticResource fc}, ConverterParameter='30,1093,-1,45'}"
                  ItemsSource="{Binding Datasource}"
                  x:Name="table">
                <DataGrid.Resources>
                    <Style TargetType="DataGridCell"
       BasedOn="{StaticResource {x:Static pu:StyleKeys.DataGridCellStyle}}">
                        <Setter Property="Background" Value="Transparent"/>
                        <Setter Property="Padding" Value="2"/>
                        <Setter Property="BorderThickness" Value="0"/>
                        <Setter Property="Background" Value="Transparent"/>
                    </Style>
Converter={StaticResource fc}, ConverterParameter='32,1093,30,45'}"
                  HorizontalScrollBarVisibility="Disabled"
                  ItemsSource="{Binding Datasource}" x:Name="table">
                    <Style TargetType="DataGridColumnHeader"
BasedOn="{StaticResource {x:Static pu:StyleKeys.DataGridColumnHeaderStyle}}">
                        <Setter Property="Padding" Value="5"/>
                        <Setter Property="BorderThickness" Value="0"/>
                    </Style>
                </DataGrid.Resources>
                <DataGrid.Columns>
                    <!--<DataGridTemplateColumn Header="#" CanUserResize="False">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding Converter={StaticResource rowNumber},
RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type DataGridRow},AncestorLevel=1}}"/>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>-->
                    <DataGridTextColumn Header="#"
                                        ElementStyle="{StaticResource TableTextBlock}"
                        Binding="{Binding Header, RelativeSource={RelativeSource AncestorType={x:Type DataGridRow}, Mode=FindAncestor}}"
                                    Width="60"/>
                    <DataGridTextColumn Width="*" Binding="{Binding Name}"
                                        ElementStyle="{StaticResource TableTextBlock}">
                        <DataGridTextColumn.Header>
                            <TextBlock Text="{DynamicResource Test.Name}"/>
                        </DataGridTextColumn.Header>
                    </DataGridTextColumn>
                    <DataGridTextColumn Width="100" Binding="{Binding Unit}"
                                        ElementStyle="{StaticResource TableTextBlock}">
                        <DataGridTextColumn.Header>
                            <TextBlock Text="{DynamicResource Test.Unit}"/>
                        </DataGridTextColumn.Header>
                    </DataGridTextColumn>
                    <DataGridTextColumn Width="*" Binding="{Binding Value}"
                                        ElementStyle="{StaticResource TableTextBlock}">
                        <DataGridTextColumn.Header>
                            <TextBlock Text="{DynamicResource Test.Value}"/>
                        </DataGridTextColumn.Header>
                    </DataGridTextColumn>
                    <DataGridTextColumn Width="*" Binding="{Binding LimitDown}"
                                        ElementStyle="{StaticResource TableTextBlock}">
                        <DataGridTextColumn.Header>
                            <TextBlock Text="{DynamicResource Test.LimitDown}"/>
                        </DataGridTextColumn.Header>
                    </DataGridTextColumn>
                    <DataGridTextColumn Width="*" Binding="{Binding LimitUp}"
                                        ElementStyle="{StaticResource TableTextBlock}">
                        <DataGridTextColumn.Header>
                            <TextBlock Text="{DynamicResource Test.LimitUp}"/>
                        </DataGridTextColumn.Header>
                    </DataGridTextColumn>
                    <DataGridTemplateColumn Width="120">
                        <DataGridTemplateColumn.Header>
                            <TextBlock Text="{DynamicResource Test.Result}"/>
                        </DataGridTemplateColumn.Header>
                        <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <Grid x:Name="border" Margin="0">
                                    <TextBlock x:Name="text" Margin="-1" Padding="0" VerticalAlignment="Center" Text="{Binding Result}"/>
                                </Grid>
                                <DataTemplate.Triggers>
                                    <DataTrigger Binding="{Binding Result}" Value="Passed">
                                        <Setter TargetName="border" Property="Background" Value="{StaticResource passedColor}"/>
                                        <Setter TargetName="text" Property="Foreground" Value="#000"/>
                                    </DataTrigger>
                                    <DataTrigger Binding="{Binding Result}" Value="Failed">
                                        <Setter TargetName="border" Property="Background" Value="{StaticResource DangerColor}"/>
                                        <Setter TargetName="text" Property="Foreground" Value="#000"/>
                                    </DataTrigger>
                                </DataTemplate.Triggers>
                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>
                    </DataGridTemplateColumn>
                </DataGrid.Columns>
            </DataGrid>
                    <DataGrid.Columns>
                        <DataGridTextColumn Header="#"
                            ElementStyle="{StaticResource TableTextBlock}"
            Binding="{Binding Header, RelativeSource={RelativeSource AncestorType={x:Type DataGridRow}, Mode=FindAncestor}}"
                        Width="0.4*"/>
                        <DataGridTextColumn Width="2.5*" Binding="{Binding Name}"
                            ElementStyle="{StaticResource TableTextBlock}">
                            <DataGridTextColumn.Header>
                                <TextBlock Text="{DynamicResource Test.Name}"/>
                            </DataGridTextColumn.Header>
                        </DataGridTextColumn>
                        <DataGridTextColumn Width="0.8*" Binding="{Binding Unit}"
                            ElementStyle="{StaticResource TableTextBlock}">
                            <DataGridTextColumn.Header>
                                <TextBlock Text="{DynamicResource Test.Unit}"/>
                            </DataGridTextColumn.Header>
                        </DataGridTextColumn>
                        <DataGridTextColumn Width="2*" Binding="{Binding Value}"
                            ElementStyle="{StaticResource TableTextBlock}">
                            <DataGridTextColumn.Header>
                                <TextBlock Text="{DynamicResource Test.Value}"/>
                            </DataGridTextColumn.Header>
                        </DataGridTextColumn>
                        <DataGridTextColumn Width="1.5*" Binding="{Binding LimitDown}"
                            ElementStyle="{StaticResource TableTextBlock}">
                            <DataGridTextColumn.Header>
                                <TextBlock Text="{DynamicResource Test.LimitDown}"/>
                            </DataGridTextColumn.Header>
                        </DataGridTextColumn>
                        <DataGridTextColumn Width="1.5*" Binding="{Binding LimitUp}"
                            ElementStyle="{StaticResource TableTextBlock}">
                            <DataGridTextColumn.Header>
                                <TextBlock Text="{DynamicResource Test.LimitUp}"/>
                            </DataGridTextColumn.Header>
                        </DataGridTextColumn>
                        <DataGridTextColumn Width="0.6*" Binding="{Binding ConsumeTime}"
        ElementStyle="{StaticResource TableTextBlock}">
                            <DataGridTextColumn.Header>
                                <TextBlock Text="{DynamicResource Test.ConsumeTime}"/>
                            </DataGridTextColumn.Header>
                        </DataGridTextColumn>
                        <DataGridTemplateColumn Width="1*">
                            <DataGridTemplateColumn.Header>
                                <TextBlock Text="{DynamicResource Test.Result}"/>
                            </DataGridTemplateColumn.Header>
                            <DataGridTemplateColumn.CellTemplate>
                                <DataTemplate>
                                    <Grid x:Name="border" Margin="0">
                                        <TextBlock x:Name="text" Margin="-1" Padding="0" VerticalAlignment="Center" Text="{Binding Result}"/>
                                    </Grid>
                                    <DataTemplate.Triggers>
                                        <DataTrigger Binding="{Binding Result}" Value="Passed">
                                            <Setter TargetName="border" Property="Background" Value="{StaticResource passedColor}"/>
                                            <Setter TargetName="text" Property="Foreground" Value="#000"/>
                                        </DataTrigger>
                                        <DataTrigger Binding="{Binding Result}" Value="Failed">
                                            <Setter TargetName="border" Property="Background" Value="{DynamicResource DangerColor}"/>
                                            <Setter TargetName="text" Property="Foreground" Value="#000"/>
                                        </DataTrigger>
                                    </DataTemplate.Triggers>
                                </DataTemplate>
                            </DataGridTemplateColumn.CellTemplate>
                        </DataGridTemplateColumn>
                    </DataGrid.Columns>
                </DataGrid>
            </Canvas>
            <Grid Grid.Row="1" Height="20" Margin="0">
                <ProgressBar Grid.Row="3" x:Name="testProcess" Value="{Binding ProcessValue}"/>
@@ -314,11 +434,12 @@
            <Grid Background="#f1eded" Grid.Row="2" Height="25">
                <DockPanel>
                    <Label Padding="0" FontSize="12" VerticalContentAlignment="Center" Content="{Binding CurrentStep}"/>
                    <Label Margin="10,0,0,0" Padding="0" FontSize="16" VerticalContentAlignment="Center" Content="{Binding SocketName}"/>
                    <Label Margin="20,0,0,0" Padding="0" FontSize="14" VerticalContentAlignment="Center" Content="{Binding CurrentStep}"/>
                    <StackPanel DockPanel.Dock="Right" Orientation="Horizontal" Margin="0,0,5,0">
                        <!--<Button FontSize="12" x:Name="scannerSetting" 
                                Margin="0,0,10,0" Click="Button_Click" Content="扫码枪设置">
                                Margin="0,0,10,0" Click="Button_Click" Content="{DynamicResource App.ScannerSetting}">
                            <Button.Style>
                                <Style TargetType="Button" BasedOn="{StaticResource LinkButton}">
                                    <Style.Triggers>
@@ -335,7 +456,13 @@
VerticalContentAlignment="Center" Content="{DynamicResource Ts.ProbeCount}"/>
                        <Label Padding="0" FontSize="12"  Margin="0,0,15,0"
VerticalAlignment="Center"
VerticalContentAlignment="Center" Content="{Binding ProbeCount}"/>
VerticalContentAlignment="Center">
                            <TextBlock>
                                <Run Text="{Binding ProbeCount}"/>
                                <Run Text="/"/>
                                <Run Text="{Binding ProbeWarn,Mode=OneWay}"/>
                            </TextBlock>
                        </Label>
                        <StackPanel x:Name="probeWarnPanel" Orientation="Horizontal" Visibility="Collapsed">
                            <Label x:Name="alarmLabel" Padding="0" FontSize="12" 
@@ -343,11 +470,13 @@
VerticalContentAlignment="Center" Content="{DynamicResource Ts.ProbeAlarmCount}"/>
                            <Label x:Name="alarmValue" Padding="0" FontSize="12" 
VerticalAlignment="Center"
VerticalContentAlignment="Center" Content="{Binding ProbeWarn}"/>
VerticalContentAlignment="Center" Content="{Binding ProbeWarn,Mode=OneWay}"/>
                        </StackPanel>
                        <Button FontSize="12" Style="{StaticResource LinkButton}" x:Name="clear" Margin="10,0,0,0" Click="Button_Click"
                            Content="{DynamicResource App.Clear}"/>
                        <Button FontSize="12" Style="{StaticResource LinkButton}"
                                cdp:PermissionHelper.RequiredPermission="Permission:ClearProbeCount"
                                x:Name="clear" Margin="10,0,0,0" Click="Button_Click"
                            Content="{DynamicResource App.Clear}" Cursor=""/>
                    </StackPanel>
                    <Label x:Name="probeCountAlarm" Visibility="Collapsed" DockPanel.Dock="Left" Padding="30,0" FontSize="12" Foreground="Red"
@@ -358,6 +487,8 @@
        </Grid>
        <Canvas Grid.Row="0" Grid.RowSpan="5" Visibility="Collapsed"
                VirtualizingPanel.IsVirtualizing="False"
                VirtualizingPanel.VirtualizationMode="Standard"
                Background="#AAFFFFFF" x:Name="pausePanel" SizeChanged="pausePanel_Loaded">
            <Border BorderBrush="#000" Background="#FFF" BorderThickness="0.5"
                    CornerRadius="5"
@@ -372,17 +503,15 @@
                        <ColumnDefinition Width="Auto"/>
                        <ColumnDefinition />
                    </Grid.ColumnDefinitions>
                    <Border Padding="10,5,0,5" Grid.ColumnSpan="2" Background="{StaticResource WarningColor}"
                    <Border Padding="10,5,0,5" Grid.ColumnSpan="2" Background="{DynamicResource WarningColor}"
                           CornerRadius="5,5,0,0">
                        <Label Padding="0" Margin="0" Foreground="#FFF" Content="{DynamicResource App.Warn}"/>
                    </Border>
                    <TextBlock Margin="20,20,20,0" Grid.Row="1" 
                               FontSize="40"
                               FontFamily="/Panuon.WPF.UI;component/Resources/Fonts/#PanuonIcon"
           Foreground="#F9D01A"
           Text="&#xe931;"
           />
                               FontFamily="/Panuon.WPF.UI;component/Resources/Fonts/#PanuonIcon"
                               Foreground="#F9D01A" Text="&#xe931;"/>
                    <Label Margin="0,20,20,0" Grid.Row="1" Grid.Column="1" Content="{DynamicResource Ts.PauseMsg}"/>
                    <StackPanel Margin="10" Grid.Row="2" Grid.ColumnSpan="2" Orientation="Horizontal" HorizontalAlignment="Right">
@@ -392,14 +521,14 @@
                        <Button Style="{StaticResource ModalButton}" 
                                x:Name="continuePauseBtn"
                                Click="Button_Click"
                                Background="{StaticResource WarningColor}"
                                Background="{DynamicResource WarningColor}"
                                Tag="OK" Content="{DynamicResource App.Continue}"/>
                    </StackPanel>
                </Grid>
            </Border>
        </Canvas>
        <Canvas Grid.Row="0" Grid.RowSpan="5" Visibility="Collapsed"
        <!--<Canvas Grid.Row="0" Grid.RowSpan="5" Visibility="Collapsed"
        Background="#AAFFFFFF" x:Name="scannerPanel" SizeChanged="pausePanel_Loaded">
            <Border BorderBrush="#000" Background="#FFF" BorderThickness="0.5" CornerRadius="5" x:Name="scannerVisualModal">
                <Grid>
@@ -412,7 +541,7 @@
                        <ColumnDefinition Width="Auto"/>
                        <ColumnDefinition />
                    </Grid.ColumnDefinitions>
                    <Border Padding="10,5,0,5" Grid.ColumnSpan="2" Background="{StaticResource PrimaryColor}"
                    <Border Padding="10,5,0,5" Grid.ColumnSpan="2" Background="{DynamicResource PrimaryColor}"
                   CornerRadius="5,5,0,0">
                        <Label Padding="0" Margin="0" Foreground="#FFF" Content="请扫码"/>
                    </Border>
@@ -435,7 +564,7 @@
                    </StackPanel>
                </Grid>
            </Border>
        </Canvas>
        </Canvas>-->
        <!--<DockPanel Grid.Row="4">