| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227 | <UserControl x:Class="VirgoUI.Client.Models.Recipe.Clean.ChamberClean"             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:i="http://schemas.microsoft.com/expression/2010/interactivity"             xmlns:cal="http://www.caliburn.org"             xmlns:controls="http://OpenSEMI.Ctrlib.com/presentation"             mc:Ignorable="d"              d:DesignHeight="155" d:DesignWidth="1600" >    <Grid>        <Grid.ColumnDefinitions>            <ColumnDefinition Width="600"></ColumnDefinition>            <ColumnDefinition Width="600"></ColumnDefinition>        </Grid.ColumnDefinitions>        <Border Grid.Column="0" Margin="0,0,0,0" BorderBrush="{DynamicResource Tab_BD}" BorderThickness="0" Background="{DynamicResource DataGrid_BG_Second}">            <Grid Grid.Row="0" Margin="0,0,0,0" HorizontalAlignment="Stretch">                <Grid.RowDefinitions>                    <RowDefinition Height="35"/>                    <RowDefinition Height="30"/>                    <RowDefinition Height="30"/>                    <RowDefinition Height="30"/>                    <RowDefinition Height="30"/>                    <RowDefinition />                </Grid.RowDefinitions>                <Grid.ColumnDefinitions>                    <ColumnDefinition Width="160"/>                    <ColumnDefinition Width="*" />                </Grid.ColumnDefinitions>                <Border Grid.ColumnSpan="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_FirstTitle}" Padding="5,1">                    <TextBlock Text="Idle Clean" TextWrapping="Wrap" TextAlignment="Center" Foreground="{DynamicResource FG_White}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,0,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="0" Padding="10,0" >                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="1" Padding="10,0" >                    <CheckBox x:Name="CheckEnableIdleClean" Content="Enable Idle Clean" IsChecked="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.IdleCleanIsEnable}"  Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalContentAlignment="Center" Padding="4,-2"  >                        <i:Interaction.Triggers>                            <i:EventTrigger EventName="Click">                                <cal:ActionMessage MethodName="IdleCleanIsEnableChanged">                                    <cal:Parameter Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.ChamberModule}" />                                        <cal:Parameter Value="{Binding ElementName=CheckEnableIdleClean,Path=IsChecked}" />                                </cal:ActionMessage>                            </i:EventTrigger>                        </i:Interaction.Triggers>                    </CheckBox>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,0,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Padding="10,0" >                    <TextBlock VerticalAlignment="Center" Text="Clean Recipe" FontSize="14" FontFamily="Arial"></TextBlock>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Grid.Column="1"   Padding="5,1">                    <StackPanel Orientation="Horizontal">                        <TextBlock  Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.IdleCleanRecipe}"  Width="230" IsEnabled="False" Height="22" FontSize="14" FontFamily="Arial"/>                        <Button Content="Select" Width="70"  Height="24" Margin="5,0,0,0" FontSize="14" FontFamily="Arial">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="IdleCleanSelectRecipe">                                        <cal:Parameter Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.ChamberModule}" />                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                    </StackPanel>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,0,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="3" Padding="10,0" >                    <TextBlock VerticalAlignment="Center" Text="Idle Time(s)" FontSize="14" FontFamily="Arial"></TextBlock>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="3" Grid.Column="1"   Padding="5,1">                    <StackPanel Orientation="Horizontal">                        <controls:TextBoxEx x:Name="TextIdleCleanTime" TextSaved="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.IdleCleanIsSaved, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"  Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.IdleCleanIdleTimeSetPoint}"  Width="230"  Height="22" FontSize="14" FontFamily="Arial"/>                        <Button Content="Set" Width="70"  Height="24" Margin="5,0,0,0" FontSize="14" FontFamily="Arial">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="IdleCleanSetTime">                                        <cal:Parameter Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.ChamberModule}" />                                        <cal:Parameter Value="{Binding ElementName=TextIdleCleanTime,Path=Text}" />                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                    </StackPanel>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,0,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="4" Padding="10,0" >                    <TextBlock VerticalAlignment="Center" Text="Next Run Time(s)" FontSize="14" FontFamily="Arial"></TextBlock>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="4" Grid.Column="1"   Padding="5,1">                    <StackPanel Orientation="Horizontal">                        <TextBlock  Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.IdleCleanNextRunTime}"  Width="230"  Height="22" FontSize="14" FontFamily="Arial"/>                        <Button Content="Reset" Width="70"  Height="24" Margin="5,0,0,0" FontSize="14" FontFamily="Arial">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="IdleCleanResetTime">                                        <cal:Parameter Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.ChamberModule}" />                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                    </StackPanel>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,0,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="5" Padding="10,0" >                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="5" Grid.Column="1"   Padding="5,1">                </Border>            </Grid>        </Border>        <Border Grid.Column="1" Margin="0,0,0,0" BorderBrush="{DynamicResource Tab_BD}" BorderThickness="0" Background="{DynamicResource DataGrid_BG_First}">            <Grid Grid.Row="0" Margin="0,0,0,0" HorizontalAlignment="Stretch">                <Grid.RowDefinitions>                    <RowDefinition Height="35"/>                    <RowDefinition Height="30"/>                    <RowDefinition Height="30"/>                    <RowDefinition Height="30"/>                    <RowDefinition Height="30"/>                    <RowDefinition />                </Grid.RowDefinitions>                <Grid.ColumnDefinitions>                    <ColumnDefinition Width="160"/>                    <ColumnDefinition Width="*" />                </Grid.ColumnDefinitions>                <Border Grid.ColumnSpan="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_FirstTitle}" Padding="5,1">                    <TextBlock Text="Job Clean" TextWrapping="Wrap" TextAlignment="Center" Foreground="{DynamicResource FG_White}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,0,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="0" Padding="10,0" >                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="1" Padding="10,0" >                    <CheckBox x:Name="CheckEnableJobClean" Content="Enable Job Clean" IsChecked="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.JobCleanIsEnable}"  Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalContentAlignment="Center" Padding="4,-2" HorizontalAlignment="Center" >                        <i:Interaction.Triggers>                            <i:EventTrigger EventName="Click">                                <cal:ActionMessage MethodName="JobCleanIsEnableChanged">                                    <cal:Parameter Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.ChamberModule}" />                                    <cal:Parameter Value="{Binding ElementName=CheckEnableJobClean,Path=IsChecked}" />                                </cal:ActionMessage>                            </i:EventTrigger>                        </i:Interaction.Triggers>                    </CheckBox>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,0,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2"  Grid.RowSpan="2" Padding="10,0" >                    <CheckBox x:Name="CheckEnablePreJob" Content="Enable PreJob" IsChecked="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.PreJobIsEnable}"  Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalContentAlignment="Center" Padding="4,-2"  >                        <i:Interaction.Triggers>                            <i:EventTrigger EventName="Click">                                <cal:ActionMessage MethodName="PreJobIsEnableChanged">                                    <cal:Parameter Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.ChamberModule}" />                                    <cal:Parameter Value="{Binding ElementName=CheckEnablePreJob,Path=IsChecked}" />                                </cal:ActionMessage>                            </i:EventTrigger>                        </i:Interaction.Triggers>                    </CheckBox>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Grid.Column="1"   Padding="10,1">                    <StackPanel Orientation="Horizontal">                        <TextBlock VerticalAlignment="Center" Text="Recipe: " FontSize="14" FontFamily="Arial"></TextBlock>                        <TextBlock  VerticalAlignment="Center" Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.PreJobRecipe}"  Width="160" IsEnabled="False"  FontSize="14" FontFamily="Arial" Margin="50, 0, 30, 0"/>                        <Button Content="Select" Width="70"  Height="24" Margin="5,0,0,0" FontSize="14" FontFamily="Arial">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="PreJobSelectRecipe">                                        <cal:Parameter Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.ChamberModule}" />                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                    </StackPanel>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="3" Grid.Column="1"   Padding="10,1">                    <StackPanel Orientation="Horizontal">                        <TextBlock VerticalAlignment="Center" Text="Idle Time(s): " FontSize="14" FontFamily="Arial"></TextBlock>                        <controls:TextBoxEx x:Name="TextPreJobIdleTime" TextSaved="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.PreJobIdleTimeIsSaved, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"  Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.PreJobIdleTimeSetPoint}"  Width="160"  Height="22" FontSize="14" FontFamily="Arial" Margin="20, 0, 30, 0"/>                        <Button Content="Set" Width="70"  Height="24" Margin="5,0,0,0" FontSize="14" FontFamily="Arial">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="PreJobSetIdleTime">                                        <cal:Parameter Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.ChamberModule}" />                                        <cal:Parameter Value="{Binding ElementName=TextPreJobIdleTime,Path=Text}" />                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                    </StackPanel>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,0,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="4" Padding="10,0" >                    <CheckBox x:Name="CheckEnableCompleteJob" Content="Enable PostJob" IsChecked="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.CompleteJobIsEnable}"  Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalContentAlignment="Center"  Padding="4,-2"  >                        <i:Interaction.Triggers>                            <i:EventTrigger EventName="Click">                                <cal:ActionMessage MethodName="CompleteJobIsEnableChanged">                                    <cal:Parameter Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.ChamberModule}" />                                    <cal:Parameter Value="{Binding ElementName=CheckEnableCompleteJob,Path=IsChecked}" />                                </cal:ActionMessage>                            </i:EventTrigger>                        </i:Interaction.Triggers>                    </CheckBox>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="4" Grid.Column="1"   Padding="10,1">                    <StackPanel Orientation="Horizontal">                        <TextBlock VerticalAlignment="Center" Text="Recipe: " FontSize="14" FontFamily="Arial"></TextBlock>                        <TextBlock VerticalAlignment="Center"  Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.CompleteJobRecipe}"  Width="160" IsEnabled="False" FontSize="14" FontFamily="Arial"  Margin="50, 0, 30, 0"/>                        <Button Content="Select" Width="70"  Height="24" Margin="5,0,0,0" FontSize="14" FontFamily="Arial">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="CompleteJobSelectRecipe">                                        <cal:Parameter Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.ChamberModule}" />                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                    </StackPanel>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,0,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="5" Padding="10,0" >                 </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="5" Grid.Column="1"   Padding="5,1">                </Border>            </Grid>        </Border>    </Grid></UserControl>
 |