| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225 | <UserControl x:Class="VirgoUI.Client.Models.Operate.WaferAssociation.WaferAssociationUnit"             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:sys="clr-namespace:System;assembly=mscorlib"             xmlns:ctrl="http://OpenSEMI.Ctrlib.com/presentation"             xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"             xmlns:cal="http://www.caliburn.org">    <Grid VerticalAlignment="Top">        <Grid.RowDefinitions>            <RowDefinition Height="Auto"></RowDefinition>            <RowDefinition></RowDefinition>        </Grid.RowDefinitions>        <Grid>            <Grid.RowDefinitions>                <RowDefinition Height="24"></RowDefinition>                <RowDefinition Height="24"></RowDefinition>                <RowDefinition Height="30"></RowDefinition>                <RowDefinition Height="20"></RowDefinition>                <RowDefinition Height="Auto"></RowDefinition>                <RowDefinition Height="Auto"></RowDefinition>            </Grid.RowDefinitions>            <StackPanel Grid.Row="0" Orientation="Horizontal">                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Width="90" Padding="5,1">                    <TextBlock Text="Lot ID" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Width="210" Padding="5,1">                    <StackPanel Orientation="Horizontal">                        <ctrl:TextBoxEx Text="{Binding WAInfo.LotId, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" TextSaved="{Binding WAInfo.LotIdSaved, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Mode=TwoWay}"  Width="138" ></ctrl:TextBoxEx>                    </StackPanel>                </Border>            </StackPanel>            <StackPanel Grid.Row="1" Orientation="Horizontal">                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Width="90" Padding="5,1">                    <TextBlock Text="Sequence" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Width="210" Padding="5,1">                    <StackPanel Orientation="Horizontal">                        <TextBox Text="{Binding WAInfo.SequenceName, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" IsReadOnly="True" Width="140" ></TextBox>                        <Button Content="Select" Width="50" Margin="5,0,0,0">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="SelectSequence">                                        <cal:Parameter Value="{Binding WAInfo, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"></cal:Parameter>                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                    </StackPanel>                </Border>            </StackPanel>            <StackPanel Grid.Row="2" Orientation="Horizontal" Margin="0,0" HorizontalAlignment="Left" VerticalAlignment="Center">                <Button Content="Set All" Width="80" Height="25" Margin="5,0,0,0" Visibility="Collapsed">                    <i:Interaction.Triggers>                        <i:EventTrigger EventName="Click">                            <cal:ActionMessage MethodName="SetAll">                                <cal:Parameter Value="{Binding WAInfo, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"></cal:Parameter>                            </cal:ActionMessage>                        </i:EventTrigger>                    </i:Interaction.Triggers>                </Button>                <Button Content="Deselect All" Width="80" Height="25" Margin="5,0,0,0" Visibility="Collapsed">                    <i:Interaction.Triggers>                        <i:EventTrigger EventName="Click">                            <cal:ActionMessage MethodName="DeselectAll">                                <cal:Parameter Value="{Binding WAInfo, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"></cal:Parameter>                            </cal:ActionMessage>                        </i:EventTrigger>                    </i:Interaction.Triggers>                </Button>            </StackPanel>            <StackPanel Grid.Row="3" Orientation="Horizontal">                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Width="45" Padding="5,1">                    <TextBlock Text="Name" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Width="90" Padding="5,1">                    <TextBlock x:Name="txtJobID" Foreground="{DynamicResource FG_Black}"  Text="{Binding WAInfo.JobID, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" VerticalAlignment="Center" FontSize="12" FontFamily="Arial"  Width="Auto" Height="20"></TextBlock>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Title}" Width="50" Padding="5,1">                    <TextBlock Text="Status" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Width="110" Padding="5,1">                    <TextBlock   VerticalAlignment="Center" Foreground="{DynamicResource FG_Black}" Text="{Binding WAInfo.JobStatus, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"  FontSize="12" FontFamily="Arial"  Width="Auto" Height="20"></TextBlock>                </Border>            </StackPanel>            <StackPanel Grid.Row="4" Orientation="Horizontal" Margin="0,0" HorizontalAlignment="Left" VerticalAlignment="Center">                <Button Content="Create Job" Width="145" Height="25" >                    <i:Interaction.Triggers>                        <i:EventTrigger EventName="Click">                            <cal:ActionMessage MethodName="CreateJob">                                <cal:Parameter Value="{Binding WAInfo, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"></cal:Parameter>                            </cal:ActionMessage>                        </i:EventTrigger>                    </i:Interaction.Triggers>                </Button>                <Button Content="Abort Job" Margin="5,0,0,0" Width="145" Height="25">                    <i:Interaction.Triggers>                        <i:EventTrigger EventName="Click">                            <cal:ActionMessage MethodName="AbortJob">                                <cal:Parameter Value="{Binding ElementName=txtJobID, Path=Text}"></cal:Parameter>                            </cal:ActionMessage>                        </i:EventTrigger>                    </i:Interaction.Triggers>                </Button>            </StackPanel>            <StackPanel Grid.Row="5" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">                <Button Content="Start" Width="93" Height="25">                    <i:Interaction.Triggers>                        <i:EventTrigger EventName="Click">                            <cal:ActionMessage MethodName="Start">                                <cal:Parameter Value="{Binding ElementName=txtJobID, Path=Text}"></cal:Parameter>                            </cal:ActionMessage>                        </i:EventTrigger>                    </i:Interaction.Triggers>                </Button>                <Button Content="Pause" Width="93" Height="25" Margin="5,0,0,0">                    <i:Interaction.Triggers>                        <i:EventTrigger EventName="Click">                            <cal:ActionMessage MethodName="Pause">                                <cal:Parameter Value="{Binding ElementName=txtJobID, Path=Text}"></cal:Parameter>                            </cal:ActionMessage>                        </i:EventTrigger>                    </i:Interaction.Triggers>                </Button>                <Button Content="Resume" Width="93" Height="25" Margin="5,0,0,0">                    <i:Interaction.Triggers>                        <i:EventTrigger EventName="Click">                            <cal:ActionMessage MethodName="Resume">                                <cal:Parameter Value="{Binding ElementName=txtJobID, Path=Text}"></cal:Parameter>                            </cal:ActionMessage>                        </i:EventTrigger>                    </i:Interaction.Triggers>                </Button>                            </StackPanel>        </Grid>        <ListBox Grid.Row="1" Focusable="False" IsEnabled="{Binding WAInfo.EnableEditSlot, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"                 ItemsSource="{Binding WAInfo.ModuleData.WaferManager.Wafers, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Margin="0,0">            <ListBox.Resources>                <Style TargetType="ListBoxItem" BasedOn="{StaticResource ResourceKey={x:Type ListBoxItem}}">                    <Setter Property="Rectangle.StrokeThickness" Value="0"/>                </Style>            </ListBox.Resources>            <ListBox.ItemTemplate>                <DataTemplate>                    <Grid Height="20">                        <Grid.ColumnDefinitions>                            <ColumnDefinition Width="Auto"></ColumnDefinition>                            <!--<ColumnDefinition Width="Auto"></ColumnDefinition>-->                            <ColumnDefinition Width="Auto"></ColumnDefinition>                            <ColumnDefinition Width="Auto"></ColumnDefinition>                        </Grid.ColumnDefinitions>                        <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Content_Highlight}" Width="40" Padding="5,1">                            <TextBlock Name="txtSlotIndex" Text="{Binding SlotIndex}" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>                        </Border>                        <!--<Border Grid.Column="1" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Title}" Width="50" Padding="5,1">                            <TextBlock Text="{Binding WaferID}" ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>                        </Border>-->                        <Border Grid.Column="1" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Width="145" Padding="5,1">                            <Border.Style>                                <Style>                                    <Style.Triggers>                                        <DataTrigger Binding="{Binding WaferStatus}" Value="0">                                            <Setter Property="Border.Background" Value="{DynamicResource Table_BG_Content_Highlight}"/>                                        </DataTrigger>                                        <DataTrigger Binding="{Binding WaferStatus}" Value="1">                                            <Setter Property="Border.Background" Value="SkyBlue"/>                                        </DataTrigger>                                    </Style.Triggers>                                </Style>                            </Border.Style>                            <TextBlock Name="txtSeqName" ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}" Text="{Binding SequenceName}" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" HorizontalAlignment="Center" VerticalAlignment="Center"></TextBlock>                        </Border>                        <Border  Grid.Column="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content_Highlight}" Width="110" Padding="5,1">                            <Button Width="60" Height="16">                                <i:Interaction.Triggers>                                    <i:EventTrigger EventName="Click">                                        <cal:ActionMessage MethodName="SetSequence">                                            <cal:Parameter Value="{Binding WAInfo, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"></cal:Parameter>                                            <cal:Parameter Value="{Binding SlotIndex}"></cal:Parameter>                                            <cal:Parameter Value="{Binding SequenceName}"></cal:Parameter>                                        </cal:ActionMessage>                                    </i:EventTrigger>                                </i:Interaction.Triggers>                                <Button.Style>                                    <Style TargetType="{x:Type Button}" BasedOn="{StaticResource ResourceKey={x:Type Button}}">                                        <Setter Property="Button.Content" Value="Remove"/>                                        <Setter Property="FontSize" Value="10" />                                        <Style.Triggers>                                            <DataTrigger Binding="{Binding ElementName=txtSeqName, Path=Text}" Value="{x:Static sys:String.Empty}">                                                <Setter Property="Button.Content" Value="Set"/>                                            </DataTrigger>                                            <DataTrigger Binding="{Binding WaferStatus}" Value="0">                                                <Setter Property="Button.IsEnabled" Value="True"/>                                            </DataTrigger>                                        </Style.Triggers>                                    </Style>                                </Button.Style>                            </Button>                        </Border>                    </Grid>                </DataTemplate>            </ListBox.ItemTemplate>        </ListBox>        <Grid>            <Grid.Style>                <Style>                    <Style.Triggers>                        <DataTrigger Binding="{Binding WAInfo.ModuleData.IsInstalled, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Value="false">                            <Setter Property="Grid.Visibility" Value="Collapsed"/>                        </DataTrigger>                    </Style.Triggers>                </Style>            </Grid.Style>        </Grid>    </Grid></UserControl>
 |