<UserControl x:Class="Plugin.TsExecution.SingleControl"
|
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:dp="clr-namespace:HMI.UI.DpUtil;assembly=HMI.UI"
|
xmlns:pw="https://opensource.panuon.com/wpf"
|
xmlns:pu="https://opensource.panuon.com/wpf-ui"
|
xmlns:local="clr-namespace:Plugin.TsExecution"
|
mc:Ignorable="d"
|
xmlns:sys="clr-namespace:System;assembly=mscorlib"
|
Loaded="UserControl_Loaded"
|
Background="#ccc6c7"
|
FontSize="{Binding ActualHeight,RelativeSource={RelativeSource AncestorType=UserControl},
|
Converter={StaticResource hfc}, ConverterParameter='12,816'}"
|
x:Name="control"
|
d:DesignHeight="450" d:DesignWidth="800">
|
<UserControl.Resources>
|
<ResourceDictionary>
|
<ResourceDictionary.MergedDictionaries>
|
<ResourceDictionary Source="/HMI.UI;component/Style/PanuonDataGrid.xaml"/>
|
</ResourceDictionary.MergedDictionaries>
|
<sys:Double x:Key="nanD">NaN</sys:Double>
|
|
<Style TargetType="Label" x:Key="baseLabel">
|
<Setter Property="HorizontalContentAlignment" Value="Left"/>
|
<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'}"/>
|
</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'}"/>
|
</Style>
|
<Brush x:Key="passedColor">#beed00</Brush>
|
</ResourceDictionary>
|
</UserControl.Resources>
|
|
<Grid>
|
<Grid.RowDefinitions>
|
<RowDefinition Height="Auto"/>
|
<RowDefinition Height="Auto"/>
|
<RowDefinition/>
|
<RowDefinition Height="Auto"/>
|
<RowDefinition Height="Auto"/>
|
</Grid.RowDefinitions>
|
|
<Grid dp:GridHelper.InnerBorder="1" dp:GridHelper.Space="5"
|
dp:GridHelper.InnerBorderBrush="{StaticResource CommonBoarder}">
|
<Grid.RowDefinitions>
|
<RowDefinition Height="Auto"/>
|
<RowDefinition/>
|
<RowDefinition/>
|
</Grid.RowDefinitions>
|
<Grid.ColumnDefinitions>
|
<ColumnDefinition Width="Auto"/>
|
<ColumnDefinition/>
|
</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}"/>
|
</DataTrigger>
|
<DataTrigger Binding="{Binding Status}" Value="Testing">
|
<Setter Property="Background" Value="Gold"/>
|
</DataTrigger>
|
<DataTrigger Binding="{Binding Status}" Value="Failed">
|
<Setter Property="Background" Value="{StaticResource DangerColor}"/>
|
</DataTrigger>
|
<DataTrigger Binding="{Binding Status}" Value="Failed">
|
<Setter Property="Background" Value="{StaticResource DangerColor}"/>
|
</DataTrigger>
|
<DataTrigger Binding="{Binding Status}" Value="Ready">
|
<Setter Property="Background" Value="DeepSkyBlue"/>
|
</DataTrigger>
|
</Style.Triggers>
|
</Style>
|
</StackPanel.Style>
|
|
<Label>
|
<Label.Style>
|
<Style TargetType="Label">
|
<Setter Property="Padding" Value="10,10,10,0"/>
|
<Setter Property="Margin" Value="0"/>
|
<Setter Property="FontFamily" Value="{StaticResource iconfont}"/>
|
<Setter Property="Foreground" Value="White"/>
|
<Setter Property="HorizontalContentAlignment" Value="Center"/>
|
<Setter Property="VerticalContentAlignment" Value="Center"/>
|
<Setter Property="FontSize" Value="{Binding ActualWidth,ElementName=control,
|
Converter={StaticResource fc}, ConverterParameter='50,816'}"/>
|
<Style.Triggers>
|
<DataTrigger Binding="{Binding Status}" Value="Passed">
|
<Setter Property="Content" Value=""/>
|
<Setter Property="Background" Value="{StaticResource passedColor}"/>
|
</DataTrigger>
|
<DataTrigger Binding="{Binding Status}" Value="Testing">
|
<Setter Property="Content" Value=""/>
|
<Setter Property="Background" Value="Gold"/>
|
</DataTrigger>
|
<DataTrigger Binding="{Binding Status}" Value="Failed">
|
<Setter Property="Content" Value=""/>
|
<Setter Property="Background" Value="{StaticResource DangerColor}"/>
|
</DataTrigger>
|
<DataTrigger Binding="{Binding Status}" Value="Failed">
|
<Setter Property="Content" Value=""/>
|
<Setter Property="Background" Value="{StaticResource DangerColor}"/>
|
</DataTrigger>
|
<DataTrigger Binding="{Binding Status}" Value="Ready">
|
<Setter Property="Content" Value=""/>
|
<Setter Property="Background" Value="DeepSkyBlue"/>
|
</DataTrigger>
|
</Style.Triggers>
|
</Style>
|
</Label.Style>
|
</Label>
|
|
<Label Content="{Binding Status}" VerticalContentAlignment="Center"
|
Padding="0"
|
Margin="0"
|
HorizontalContentAlignment="Center"
|
Foreground="#FFF"
|
FontWeight="Bold"
|
FontSize="{Binding ActualWidth,ElementName=control,
|
Converter={StaticResource fc}, ConverterParameter='15,816'}"/>
|
</StackPanel>
|
|
<!--<Label HorizontalContentAlignment="Left" Grid.Column="1" Content="{Binding Status}"/>-->
|
|
<Label Style="{StaticResource baseLabel}" Background="#FFF" Grid.Row="1" 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}"/>
|
<TextBlock Style="{StaticResource baseText}" Text="{DynamicResource Ts.Pass}"/>
|
<TextBlock Style="{StaticResource baseText}" Margin="2,0,18,0" Text="{Binding PassNum}"/>
|
<TextBlock Style="{StaticResource baseText}" Text="{DynamicResource Ts.Fail}"/>
|
<TextBlock Style="{StaticResource baseText}" Margin="2,0,18,0" Text="{Binding FailNum}"/>
|
<TextBlock Style="{StaticResource baseText}" Text="{DynamicResource Ts.PassRate}"/>
|
<TextBlock Style="{StaticResource baseText}" Margin="2,0,18,0" Text="{Binding PassRate,StringFormat={}{0:P2}}"/>
|
<TextBlock Style="{StaticResource baseText}" Text="{DynamicResource Ts.ProbeCount}"/>
|
<TextBlock Style="{StaticResource baseText}" Margin="2,0,18,0" Text="{Binding ProbeCount}"/>
|
</StackPanel>
|
</Label>
|
|
<Label Style="{StaticResource baseLabel}" Background="#FFF" Grid.Row="2" 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}"/>
|
<Label Style="{StaticResource baseLabel}" Content="{DynamicResource Ts.TimeSpan}"/>
|
<Label Style="{StaticResource baseLabel}" Margin="2,0,18,0" Content="{Binding ElapseTime}"/>
|
</StackPanel>
|
</Label>
|
</Grid>
|
|
<Grid Grid.Row="2" x:Name="simplePanel" dp:GridHelper.Space="5" dp:GridHelper.SpaceIgnore="TOP">
|
<Grid.RowDefinitions>
|
<RowDefinition/>
|
<RowDefinition Height="Auto"/>
|
</Grid.RowDefinitions>
|
<Label VerticalContentAlignment="Center"
|
HorizontalContentAlignment="Center"
|
FontSize="{Binding ActualWidth,ElementName=control,
|
Converter={StaticResource fc}, ConverterParameter='50,816'}">
|
<Label.Style>
|
<Style TargetType="Label">
|
<Setter Property="Foreground" Value="#848286"/>
|
<Setter Property="Content" Value="{Binding CurrentStep}"/>
|
<Style.Triggers>
|
<DataTrigger Binding="{Binding Status}" Value="Passed">
|
<Setter Property="Background" Value="{StaticResource passedColor}"/>
|
<Setter Property="Content" Value="--PASS--"/>
|
<Setter Property="Foreground" Value="#000"/>
|
</DataTrigger>
|
<DataTrigger Binding="{Binding Status}" Value="Failed">
|
<Setter Property="Background" Value="{StaticResource DangerColor}"/>
|
<Setter Property="Content" Value="--FAIL--"/>
|
<Setter Property="Foreground" Value="#000"/>
|
</DataTrigger>
|
</Style.Triggers>
|
</Style>
|
</Label.Style>
|
</Label>
|
<ProgressBar Grid.Row="1" MinHeight="20" Value="{Binding ProcessValue}"
|
Height="{Binding ActualHeight,ElementName=control,
|
Converter={StaticResource hfc}, ConverterParameter='30,816'}"/>
|
<Label Grid.Row="1"
|
VerticalContentAlignment="Center"
|
HorizontalContentAlignment="Center"
|
Content="{Binding ProcessValueLabel}" Background="Transparent" Foreground="#000"/>
|
</Grid>
|
|
<Grid Grid.Row="2" x:Name="detailPanel">
|
<Grid.RowDefinitions>
|
<RowDefinition/>
|
<RowDefinition Height="Auto"/>
|
<RowDefinition Height="Auto"/>
|
</Grid.RowDefinitions>
|
|
<DataGrid Grid.Row="0" Style="{StaticResource DefaultDataGrid}"
|
Margin="5,0,5,5"
|
pu:DataGridHelper.ColumnHeaderFontSize="{Binding ActualWidth,
|
ElementName=control,
|
Converter={StaticResource fc}, ConverterParameter='15,1093,15,22'}"
|
FontSize="{Binding ActualWidth,
|
ElementName=control,
|
Converter={StaticResource fc}, ConverterParameter='15,1093,15,20'}"
|
pu:DataGridHelper.ColumnHeaderPadding="3"
|
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>
|
|
<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>
|
|
<Grid Grid.Row="1" Height="20" Margin="0">
|
<ProgressBar Grid.Row="3" x:Name="testProcess" Value="{Binding ProcessValue}"/>
|
<Label Width="45" DockPanel.Dock="Right" x:Name="testProcessLabel" Padding="0"
|
Content="{Binding ProcessValueLabel}"
|
VerticalContentAlignment="Center"/>
|
</Grid>
|
|
<Grid Background="#f1eded" Grid.Row="2" Height="25">
|
<DockPanel>
|
<Label Padding="0" FontSize="12" 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="扫码枪设置">
|
<Button.Style>
|
<Style TargetType="Button" BasedOn="{StaticResource LinkButton}">
|
<Style.Triggers>
|
<DataTrigger Binding="{Binding IsAutoMode}" Value="True">
|
<Setter Property="Visibility" Value="Collapsed"/>
|
</DataTrigger>
|
</Style.Triggers>
|
</Style>
|
</Button.Style>
|
</Button>-->
|
|
<Label Padding="0" FontSize="12"
|
VerticalAlignment="Center"
|
VerticalContentAlignment="Center" Content="{DynamicResource Ts.ProbeCount}"/>
|
<Label Padding="0" FontSize="12" Margin="0,0,15,0"
|
VerticalAlignment="Center"
|
VerticalContentAlignment="Center" Content="{Binding ProbeCount}"/>
|
|
<StackPanel x:Name="probeWarnPanel" Orientation="Horizontal" Visibility="Collapsed">
|
<Label x:Name="alarmLabel" Padding="0" FontSize="12"
|
VerticalAlignment="Center"
|
VerticalContentAlignment="Center" Content="{DynamicResource Ts.ProbeAlarmCount}"/>
|
<Label x:Name="alarmValue" Padding="0" FontSize="12"
|
VerticalAlignment="Center"
|
VerticalContentAlignment="Center" Content="{Binding ProbeWarn}"/>
|
</StackPanel>
|
|
<Button FontSize="12" Style="{StaticResource LinkButton}" x:Name="clear" Margin="10,0,0,0" Click="Button_Click"
|
Content="{DynamicResource App.Clear}"/>
|
</StackPanel>
|
|
<Label x:Name="probeCountAlarm" Visibility="Collapsed" DockPanel.Dock="Left" Padding="30,0" FontSize="12" Foreground="Red"
|
VerticalAlignment="Center"
|
VerticalContentAlignment="Center" Content="{DynamicResource Ts.ProbeAlarm}"/>
|
</DockPanel>
|
</Grid>
|
</Grid>
|
|
<Canvas Grid.Row="0" Grid.RowSpan="5" Visibility="Collapsed"
|
Background="#AAFFFFFF" x:Name="pausePanel" SizeChanged="pausePanel_Loaded">
|
<Border BorderBrush="#000" Background="#FFF" BorderThickness="0.5"
|
CornerRadius="5"
|
x:Name="visualModal">
|
<Grid>
|
<Grid.RowDefinitions>
|
<RowDefinition Height="Auto"/>
|
<RowDefinition Height="Auto"/>
|
<RowDefinition Height="Auto"/>
|
</Grid.RowDefinitions>
|
<Grid.ColumnDefinitions>
|
<ColumnDefinition Width="Auto"/>
|
<ColumnDefinition />
|
</Grid.ColumnDefinitions>
|
<Border Padding="10,5,0,5" Grid.ColumnSpan="2" Background="{StaticResource 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=""
|
/>
|
|
<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">
|
<Button Style="{StaticResource ModalButton}" Tag="Cancel"
|
x:Name="cancelPauseBtn"
|
Click="Button_Click" Content="{DynamicResource App.Cancel}"/>
|
<Button Style="{StaticResource ModalButton}"
|
x:Name="continuePauseBtn"
|
Click="Button_Click"
|
Background="{StaticResource WarningColor}"
|
Tag="OK" Content="{DynamicResource App.Continue}"/>
|
</StackPanel>
|
</Grid>
|
</Border>
|
</Canvas>
|
|
<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>
|
<Grid.RowDefinitions>
|
<RowDefinition Height="Auto"/>
|
<RowDefinition Height="Auto"/>
|
<RowDefinition Height="Auto"/>
|
</Grid.RowDefinitions>
|
<Grid.ColumnDefinitions>
|
<ColumnDefinition Width="Auto"/>
|
<ColumnDefinition />
|
</Grid.ColumnDefinitions>
|
<Border Padding="10,5,0,5" Grid.ColumnSpan="2" Background="{StaticResource PrimaryColor}"
|
CornerRadius="5,5,0,0">
|
<Label Padding="0" Margin="0" Foreground="#FFF" Content="请扫码"/>
|
</Border>
|
|
<pu:FormGroup Margin="20,20,20,0" Grid.Row="1" Grid.ColumnSpan="2"
|
FontSize="{Binding ActualWidth,ElementName=control,
|
Converter={StaticResource fc}, ConverterParameter='20,1093,20'}" Orientation="Horizontal" Header="SNR">
|
<TextBox Width="{Binding ActualWidth,ElementName=control,
|
Converter={StaticResource fc}, ConverterParameter='180,1093'}"
|
FontSize="{Binding ActualWidth,ElementName=control,
|
Converter={StaticResource fc}, ConverterParameter='15,1093,15'}"
|
x:Name="TbManualSnr" Style="{StaticResource EditorTextBoxStyle}"/>
|
</pu:FormGroup>
|
<StackPanel Margin="10" Grid.Row="2" Grid.ColumnSpan="2" Orientation="Horizontal" HorizontalAlignment="Right">
|
<Button Style="{StaticResource ModalButton}"
|
x:Name="scannerOkBtn"
|
Click="Button_Click"
|
Background="{DynamicResource PrimaryColor}"
|
Tag="OK" Content="{DynamicResource App.Continue}"/>
|
</StackPanel>
|
</Grid>
|
</Border>
|
</Canvas>
|
|
|
<!--<DockPanel Grid.Row="4">
|
<StatusBar>
|
<StatusBarItem>
|
<Label Padding="0" VerticalContentAlignment="Center" Content="{Binding CurrentStep}"/>
|
|
|
</StatusBarItem>
|
</StatusBar>
|
</DockPanel>-->
|
</Grid>
|
</UserControl>
|