﻿<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>
