| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241 | <UserControl x:Class="MECF.Framework.UI.Client.CenterViews.Operations.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:i="http://schemas.microsoft.com/expression/2010/interactivity"             xmlns:micro="clr-namespace:Caliburn.Micro"             xmlns:controls="clr-namespace:OpenSEMI.Ctrlib.Controls">    <UserControl.Resources>        <Style TargetType="ToolTip">            <Style.Triggers>                <Trigger Property="Content"                             Value="{x:Static sys:String.Empty}">                    <Setter Property="Visibility"                              Value="Collapsed" />                </Trigger>            </Style.Triggers>        </Style>    </UserControl.Resources>    <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="Auto"></RowDefinition>                <RowDefinition Height="24"></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="235" Padding="5,1">                    <StackPanel Orientation="Horizontal">                        <controls: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" ></controls:TextBoxEx>                    </StackPanel>                </Border>            </StackPanel>            <StackPanel Grid.Row="1" Orientation="Horizontal">                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,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,0,1,1" Background="{DynamicResource Table_BG_Content}" Width="235" Padding="5,1">                    <StackPanel Orientation="Horizontal">                        <TextBox Text="{Binding WAInfo.SequenceName, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" IsReadOnly="True" Width="138" ></TextBox>                        <Button Content="Select" IsEnabled="{Binding WAInfo.IsEnableSelect, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Width="80" Padding="0" Margin="5,0,0,0">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <micro:ActionMessage MethodName="SelectSequence">                                        <micro:Parameter Value="{Binding WAInfo, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"></micro:Parameter>                                    </micro:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                    </StackPanel>                </Border>            </StackPanel>            <StackPanel Grid.Row="2" Orientation="Horizontal" Margin="0,2" HorizontalAlignment="Left" VerticalAlignment="Center">                <Button Content="Set All" IsEnabled="{Binding WAInfo.IsEnableSelect, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Width="160" Height="25"  >                    <i:Interaction.Triggers>                        <i:EventTrigger EventName="Click">                            <micro:ActionMessage MethodName="SetAll">                                <micro:Parameter Value="{Binding WAInfo, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"></micro:Parameter>                            </micro:ActionMessage>                        </i:EventTrigger>                    </i:Interaction.Triggers>                </Button>                <Button Content="Deselect All" IsEnabled="{Binding WAInfo.IsEnableSelect, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Width="160" Height="25" Margin="5,0,0,0">                    <i:Interaction.Triggers>                        <i:EventTrigger EventName="Click">                            <micro:ActionMessage MethodName="DeselectAll">                                <micro:Parameter Value="{Binding WAInfo, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"></micro:Parameter>                            </micro: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="60" 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="103" 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="60" 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="102" 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,2" HorizontalAlignment="Left" VerticalAlignment="Center">                <Button Content="Create Job" IsEnabled="{Binding WAInfo.IsEnableCreate, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Width="160" Height="25" >                    <i:Interaction.Triggers>                        <i:EventTrigger EventName="Click">                            <micro:ActionMessage MethodName="CreateJob">                                <micro:Parameter Value="{Binding WAInfo, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"></micro:Parameter>                            </micro:ActionMessage>                        </i:EventTrigger>                    </i:Interaction.Triggers>                </Button>                <Button Content="Abort Job" IsEnabled="{Binding WAInfo.IsEnableAbort, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Margin="5,0,0,0" Width="160" Height="25">                    <i:Interaction.Triggers>                        <i:EventTrigger EventName="Click">                            <micro:ActionMessage MethodName="AbortJob">                                <micro:Parameter Value="{Binding ElementName=txtJobID, Path=Text}"></micro:Parameter>                            </micro:ActionMessage>                        </i:EventTrigger>                    </i:Interaction.Triggers>                </Button>            </StackPanel>            <StackPanel Grid.Row="5" Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center">                <Button Content="Start" IsEnabled="{Binding WAInfo.IsEnableStart, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Width="78" Height="25">                    <i:Interaction.Triggers>                        <i:EventTrigger EventName="Click">                            <micro:ActionMessage MethodName="Start">                                <micro:Parameter Value="{Binding ElementName=txtJobID, Path=Text}"></micro:Parameter>                            </micro:ActionMessage>                        </i:EventTrigger>                    </i:Interaction.Triggers>                </Button>                <Button Content="Pause" IsEnabled="{Binding WAInfo.IsEnablePause, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Width="78" Height="25" Margin="5,0,0,0">                    <i:Interaction.Triggers>                        <i:EventTrigger EventName="Click">                            <micro:ActionMessage MethodName="Pause">                                <micro:Parameter Value="{Binding ElementName=txtJobID, Path=Text}"></micro:Parameter>                            </micro:ActionMessage>                        </i:EventTrigger>                    </i:Interaction.Triggers>                </Button>                <Button Content="Resume" IsEnabled="{Binding WAInfo.IsEnableResume, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Width="78" Height="25" Margin="5,0,0,0">                    <i:Interaction.Triggers>                        <i:EventTrigger EventName="Click">                            <micro:ActionMessage MethodName="Resume">                                <micro:Parameter Value="{Binding ElementName=txtJobID, Path=Text}"></micro:Parameter>                            </micro:ActionMessage>                        </i:EventTrigger>                    </i:Interaction.Triggers>                </Button>                <Button Content="Stop" IsEnabled="{Binding WAInfo.IsEnableStop, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Width="77" Height="25" Margin="5,0,0,0">                    <i:Interaction.Triggers>                        <i:EventTrigger EventName="Click">                            <micro:ActionMessage MethodName="Stop">                                <micro:Parameter Value="{Binding ElementName=txtJobID, Path=Text}"></micro:Parameter>                            </micro:ActionMessage>                        </i:EventTrigger>                    </i:Interaction.Triggers>                </Button>            </StackPanel>        </Grid>        <ListBox Grid.Row="1" Focusable="False" 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="190" 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" VerticalAlignment="Center"></TextBlock>                        </Border>                        <Border Grid.Column="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content_Highlight}" Width="95" Padding="5,1">                            <Button IsEnabled="{Binding WAInfo.IsEnableCreate, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Width="80" Height="8" FontSize="11" Margin="0,-4">                                <i:Interaction.Triggers>                                    <i:EventTrigger EventName="Click">                                        <micro:ActionMessage MethodName="SetSequence">                                            <micro:Parameter Value="{Binding WAInfo, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"></micro:Parameter>                                            <micro:Parameter Value="{Binding SlotIndex}"></micro:Parameter>                                            <micro:Parameter Value="{Binding SequenceName}"></micro:Parameter>                                        </micro: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"/>                                        <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="False"/>                                            </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>
 |