| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382 | 
							- <UserControl x:Class="PunkHPX8_MainPages.Views.VpwRecipeView"
 
-              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:PunkHPX8_MainPages.Views"
 
-              xmlns:prism="http://prismlibrary.com/" 
 
-              xmlns:Control="clr-namespace:MECF.Framework.UI.Core.Control;assembly=MECF.Framework.UI.Core"  
 
-              xmlns:converters="clr-namespace:PunkHPX8_MainPages.Converters"
 
-              xmlns:UserControls="clr-namespace:PunkHPX8_Themes.UserControls;assembly=PunkHPX8_Themes"  
 
-              xmlns:wfi ="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration" 
 
-              xmlns:extendedControls="clr-namespace:MECF.Framework.UI.Core.ExtendedControls;assembly=MECF.Framework.UI.Core"
 
-              xmlns:wf ="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
 
-              prism:ViewModelLocator.AutoWireViewModel="True"
 
-              mc:Ignorable="d" 
 
-              d:DesignHeight="800" d:DesignWidth="1800" Loaded="UserControl_Loaded">
 
-     <UserControl.Resources>
 
-         <converters:BoolReverseConverter x:Key="boolReverseConverter"/>
 
-         <converters:BoolVisibilityConverter x:Key="boolVisibilityConverter"/>
 
-     </UserControl.Resources>
 
-     <Grid>
 
-         <Grid.RowDefinitions>
 
-             <RowDefinition Height="210"></RowDefinition>
 
-             <RowDefinition Height="*"/>
 
-         </Grid.RowDefinitions>
 
-         <Grid.ColumnDefinitions>
 
-             <ColumnDefinition Width="50"></ColumnDefinition>
 
-             <ColumnDefinition Width="400"></ColumnDefinition>
 
-             <ColumnDefinition></ColumnDefinition>
 
-         </Grid.ColumnDefinitions>
 
-         <UserControls:RecipeFileLoadControl Grid.Row="0" Grid.RowSpan="2" Grid.Column="1" Title="VPW Recipe" RecipeNodes="{Binding RecipeNodes}" OperationCommand="{Binding OperationCommand}"
 
-                                      RecipeLocation="{Binding CurrentNode.RecipeLocation}" EditEnable="{Binding EditEnable}" CreateEnable="{Binding CreateEnable}" RecipeFileName="{Binding CurrentNode.FileName}"
 
-                                      CreateCommand="{Binding CreateCommand}" EditCommand="{Binding EditCommand}"/>
 
-         <Grid Grid.Row="0" Grid.Column="2" Margin="10 0 0 0">
 
-             <Grid.RowDefinitions>
 
-                 <RowDefinition Height="70"></RowDefinition>
 
-                 <RowDefinition Height="70"></RowDefinition>
 
-                 <RowDefinition Height="70"></RowDefinition>
 
-                 <RowDefinition/>
 
-             </Grid.RowDefinitions>
 
-             <Grid.ColumnDefinitions>
 
-                 <ColumnDefinition Width="220"></ColumnDefinition>
 
-                 <ColumnDefinition Width="220"></ColumnDefinition>
 
-                 <ColumnDefinition Width="220"></ColumnDefinition>
 
-                 <ColumnDefinition Width="220"></ColumnDefinition>
 
-                 <ColumnDefinition Width="220"></ColumnDefinition>
 
-             </Grid.ColumnDefinitions>
 
-             <GroupBox Header="PPID" Grid.Row="0" Grid.ColumnSpan="3">
 
-                 <TextBlock Text="{Binding Recipe.Ppid}" FontSize="20" VerticalAlignment="Center" TextAlignment="Center">
 
-                 </TextBlock>
 
-             </GroupBox>
 
-             <Grid Grid.Row="0" Grid.Column="3" Grid.ColumnSpan="2" Margin="10 0 0 0 ">
 
-                 <Grid.RowDefinitions>
 
-                     <RowDefinition Height="70"></RowDefinition>
 
-                 </Grid.RowDefinitions>
 
-                 <Grid Grid.Row="0" >
 
-                     <Grid.ColumnDefinitions>
 
-                         <ColumnDefinition/>
 
-                         <ColumnDefinition/>
 
-                         <ColumnDefinition/>
 
-                     </Grid.ColumnDefinitions>
 
-                     <Button Grid.Column="0" IsEnabled="{Binding Enable}" Style="{StaticResource SysBtnStyle}"  Content="Save" Height="35" Width="100" Command="{Binding SaveRecipeCommand}"></Button>
 
-                     <Button Grid.Column="1" Style="{StaticResource SysBtnStyle}"  Content="SaveAs" Height="35" Width="100" Command="{Binding SaveAsRecipeCommand}"></Button>
 
-                 </Grid>
 
-             </Grid>
 
-             <GroupBox Header="Description" Grid.Row="1" Grid.ColumnSpan="3">
 
-                 <TextBlock Text="{Binding Recipe.Description}" FontSize="18" VerticalAlignment="Center" TextAlignment="Center">
 
-                 </TextBlock>
 
-             </GroupBox>
 
-             <GroupBox Header="Author" Grid.Row="2" Grid.Column="0">
 
-                 <Label Content="{Binding Recipe.Author}" Height="30" Width="195" VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="White" Background="Gray" 
 
-                                             HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Column="1" Margin="6,0,0,0"></Label>
 
-             </GroupBox>
 
-             <GroupBox Header="CreateDate" Grid.Row="2" Grid.Column="1">
 
-                 <Label Content="{Binding Recipe.CreateDate}" Height="30" Width="195" VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="White" Background="Gray" 
 
-                                             HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Column="1" Margin="6,0,0,0"></Label>
 
-             </GroupBox>
 
-             <GroupBox Header="SaveDate" Grid.Row="2" Grid.Column="2">
 
-                 <Label Content="{Binding Recipe.SaveDate}" Height="30" Width="195" VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="White" Background="Gray" 
 
-                                             HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Column="1" Margin="6,0,0,0"></Label>
 
-             </GroupBox>
 
-             <GroupBox Header="Total TIme" IsEnabled="{Binding Enable}"  Grid.Row="2" Grid.Column="3">
 
-                 <Label Content="{Binding Recipe.TotalTime}" Height="30" Width="195" VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="White" Background="Gray" 
 
-                              HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Column="1" Margin="6,0,0,0"></Label>
 
-             </GroupBox>
 
-             <GroupBox Header="Wafer Size" IsEnabled="{Binding Enable}"  Grid.Row="2" Grid.Column="4">
 
-                 <ComboBox Height="30" Margin="0,0,20,0" ItemsSource="{Binding WaferSizeLst}" SelectedItem="{Binding Recipe.WaferSize, Mode=TwoWay}">
 
-                 </ComboBox>
 
-             </GroupBox>
 
-         </Grid>
 
-         <Grid Grid.Row="2" Grid.Column="2">
 
-             <Grid.RowDefinitions>
 
-                 <RowDefinition Height="200"></RowDefinition>
 
-                 <RowDefinition Height="*"></RowDefinition>
 
-             </Grid.RowDefinitions>
 
-             <Grid.ColumnDefinitions>
 
-                 <ColumnDefinition Width="350"></ColumnDefinition>
 
-                 <ColumnDefinition Width="350"></ColumnDefinition>
 
-                 <ColumnDefinition Width="350"></ColumnDefinition>
 
-                 <ColumnDefinition Width="350"></ColumnDefinition>
 
-             </Grid.ColumnDefinitions>
 
-             <GroupBox  Header="1.Vacuum Prewet" Grid.Column="3"  Padding="10" Grid.Row="0" Grid.RowSpan="2">
 
-                 <Grid>
 
-                     <Grid.RowDefinitions>
 
-                         <RowDefinition Height="75"></RowDefinition>
 
-                         <RowDefinition Height="75"></RowDefinition>
 
-                         <RowDefinition Height="45"></RowDefinition>
 
-                         <RowDefinition Height="45"></RowDefinition>
 
-                         <RowDefinition Height="45"></RowDefinition>
 
-                         <RowDefinition Height="45"></RowDefinition>
 
-                         <RowDefinition Height="200"></RowDefinition>
 
-                     </Grid.RowDefinitions>
 
-                     <Grid.ColumnDefinitions>
 
-                         <ColumnDefinition Width="300"></ColumnDefinition>
 
-                     </Grid.ColumnDefinitions>
 
-                     <Button Grid.Row="6" Style="{StaticResource SysBtnStyle}"  IsEnabled="{Binding Enable}" Content="Add Below" Height="25" Width="80" FontSize="10" Command="{Binding AddBelowCommand}" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,-20,0"></Button>
 
-                     <Button Grid.Row="6" Style="{StaticResource SysBtnStyle}"  IsEnabled="{Binding Enable}" Content="Add Above" Height="25" Width="80" FontSize="10" Command="{Binding AddAboveCommand}" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,70,-20,0"></Button>
 
-                     <Button Grid.Row="6" Style="{StaticResource SysBtnStyle}"  IsEnabled="{Binding Enable}" Content="Move Up" Height="25" Width="80" FontSize="10" Command="{Binding MoveUpCommand}" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,140,-20,0"></Button>
 
-                     <Button Grid.Row="6" Style="{StaticResource SysBtnStyle}"  IsEnabled="{Binding Enable}" Content="Move Down" Height="26" Width="80" FontSize="10" Command="{Binding MoveDownCommand}" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,165,-20,-50" ></Button>
 
-                     <Button Grid.Row="6" Style="{StaticResource SysBtnStyle}"  IsEnabled="{Binding Enable}" Content="Delete" Height="26" Width="80" FontSize="10" Command="{Binding DeleteCommand}" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,210,-20,-80"/>
 
-                     <UserControls:GroupTextBoxControl Grid.Row="6" Title="Flow Set Ponit" Unit="L/min" MinValue="0" MaxValue="10" Width="120" Margin="0,0,200,119"
 
-                                        IntValue="{Binding Recipe.VacuumPrewetFlowSetPoint,Mode=TwoWay}" 
 
-                                        ValidResult="{Binding PropertyValidResultDic[VacuumPrewetFlowSetPoint],Mode=TwoWay}"  />
 
-                     <UserControls:GroupTextBoxControl Grid.Row="6" Title="Flow Warning" Unit="%" MinValue="0" MaxValue="100" Margin="97,0,105,118" Width="120"
 
-                         IntValue="{Binding Recipe.VacuumPrewetFlowWarningPercent,Mode=TwoWay}" 
 
-                         ValidResult="{Binding PropertyValidResultDic[VacuumPrewetFlowWarningPercent],Mode=TwoWay}"  />
 
-                     <UserControls:GroupTextBoxControl Grid.Row="6" Title="Flow Fault" Unit="%" MinValue="0" MaxValue="100" Margin="194,0,-14,118" Width="120"
 
-                         IntValue="{Binding Recipe.VacuumPrewetFlowErrorPercent,Mode=TwoWay}" 
 
-                         ValidResult="{Binding PropertyValidResultDic[VacuumPrewetFlowErrorPercent],Mode=TwoWay}"  />
 
-                     <UserControls:GroupTextBoxControl Grid.Row="0" Title="Vacuum Target" Unit="Toor" MinValue="0" MaxValue="1000"  Width="300"
 
-                                                                  IntValue="{Binding Recipe.VacuumTarget,Mode=TwoWay}" 
 
-                                                                  ValidResult="{Binding PropertyValidResultDic[VacuumTarget],Mode=TwoWay}" />
 
-                     <UserControls:GroupTextBoxControl Grid.Row="1" Title="Dry Hold Time" Unit="Sec" MinValue="0" MaxValue="800"  Width="300"
 
-                                               IntValue="{Binding Recipe.DryHoldTime,Mode=TwoWay}" 
 
-                                               ValidResult="{Binding PropertyValidResultDic[DryHoldTime],Mode=TwoWay}" />
 
-                     <GroupBox Grid.Row="2" IsEnabled="{Binding Enable}" Margin="0,10,0,0">
 
-                         <Grid>
 
-                             <Label Content="Spray Bar" Height="30" VerticalAlignment="Top" />
 
-                             <RadioButton Content="EXT" Height="30" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Left"
 
-            Command="{Binding AutoCurrentBasedFalseCommand}"  IsChecked="{Binding Recipe.IsSprayBarRetract ,Mode=TwoWay,Converter={StaticResource boolReverseConverter}}" Margin="158,-1,0,-6" ></RadioButton>
 
-                             <RadioButton Content="RET" Height="30" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Center" 
 
-             Command="{Binding AutoCurrentBasedTrueCommand}"  IsChecked="{Binding Recipe.IsSprayBarRetract,Mode=TwoWay}" Margin="220,-1,0,-6" ></RadioButton>
 
-                         </Grid>
 
-                     </GroupBox>
 
-                     <GroupBox Grid.Row="3" IsEnabled="{Binding Enable}" Margin="0,10,0,0">
 
-                         <Grid>
 
-                             <Label Content="Drip Enable" Height="30" VerticalAlignment="Top" />
 
-                             <RadioButton Content="True" Height="30" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Left"
 
- Command="{Binding AutoCurrentBasedFalseCommand}"  IsChecked="{Binding Recipe.VacuumPrewetDripEnable ,Mode=TwoWay}" Margin="158,-1,0,-6" ></RadioButton>
 
-                             <RadioButton Content="False" Height="30" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Center" 
 
-  Command="{Binding AutoCurrentBasedTrueCommand}"  IsChecked="{Binding Recipe.VacuumPrewetDripEnable,Mode=TwoWay,Converter={StaticResource boolReverseConverter}}" Margin="220,-1,0,-6" ></RadioButton>
 
-                         </Grid>
 
-                     </GroupBox>
 
-                     <GroupBox Grid.Row="4" IsEnabled="{Binding Enable}" Margin="0,10,0,0">
 
-                         <Grid>
 
-                             <Label Content="Small Enable" Height="30" VerticalAlignment="Top" />
 
-                             <RadioButton Content="True" Height="30" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Left"
 
- Command="{Binding AutoCurrentBasedFalseCommand}"  IsChecked="{Binding Recipe.VacuumPrewetSmallEnable ,Mode=TwoWay}" Margin="158,-1,0,-6" ></RadioButton>
 
-                             <RadioButton Content="False" Height="30" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Center" 
 
-  Command="{Binding AutoCurrentBasedTrueCommand}"  IsChecked="{Binding Recipe.VacuumPrewetSmallEnable,Mode=TwoWay,Converter={StaticResource boolReverseConverter}}" Margin="220,-1,0,-6" ></RadioButton>
 
-                         </Grid>
 
-                     </GroupBox>
 
-                     <GroupBox Grid.Row="5" IsEnabled="{Binding Enable}" Margin="0,10,0,0">
 
-                         <Grid>
 
-                             <Label Content="Large" Height="30" VerticalAlignment="Top" />
 
-                             <RadioButton Content="True" Height="30" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Left"
 
- Command="{Binding AutoCurrentBasedFalseCommand}"  IsChecked="{Binding Recipe.VacuumPrewetLargeEnable ,Mode=TwoWay}" Margin="158,-1,0,-6" ></RadioButton>
 
-                             <RadioButton Content="False" Height="30" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Center" 
 
-  Command="{Binding AutoCurrentBasedTrueCommand}"  IsChecked="{Binding Recipe.VacuumPrewetLargeEnable,Mode=TwoWay,Converter={StaticResource boolReverseConverter}}" Margin="220,-1,0,-6" ></RadioButton>
 
-                         </Grid>
 
-                     </GroupBox>
 
-                     <DataGrid x:Name="VacuumPrewetRinseGrid"  Width="215" MinRowHeight="27" Grid.Row="6" AutoGenerateColumns="False"  CanUserAddRows="False"  FontFamily="Arial" FontSize="14" Margin="12,88,73,-78" 
 
-           ItemsSource="{Binding Recipe.VacuumRinseStep}" SelectionMode="Single" IsEnabled="{Binding Enable}" SelectedIndex="{Binding SelectedVacuumPrewetIndex,Mode=TwoWay}"
 
-                               ScrollViewer.HorizontalScrollBarVisibility="Disabled"  ScrollViewer.VerticalScrollBarVisibility="Auto">
 
-                         <DataGrid.Columns>
 
-                             <DataGridTextColumn Header="Step" IsReadOnly="True" Width="50"  Binding="{Binding Step,Mode=TwoWay}" CanUserSort="false" CanUserReorder="False" CanUserResize="False"/>
 
-                             <DataGridTextColumn Header="Time(sec)" Width="80"  Binding="{Binding DurationSeconds,Mode=TwoWay,ValidatesOnDataErrors=True}" CanUserSort="false" CanUserReorder="False" CanUserResize="False" >
 
-                             </DataGridTextColumn>
 
-                             <DataGridTextColumn Header="Speed(rpm)" Width="85"  Binding="{Binding RotationSpeed,Mode=TwoWay,ValidatesOnDataErrors=True}" CanUserSort="false" CanUserReorder="False" CanUserResize="False" >
 
-                             </DataGridTextColumn>
 
-                         </DataGrid.Columns>
 
-                     </DataGrid>
 
-                 </Grid>
 
-             </GroupBox>
 
-             <GroupBox  Header="0.Prewet Prepare" Grid.Column="0"  Padding="10"  Grid.Row="0">
 
-                 <Grid>
 
-                     <Grid.RowDefinitions>
 
-                         <RowDefinition Height="45"></RowDefinition>
 
-                         <RowDefinition Height="75"></RowDefinition>
 
-                     </Grid.RowDefinitions>
 
-                     <Grid.ColumnDefinitions>
 
-                         <ColumnDefinition Width="58.205"></ColumnDefinition>
 
-                         <ColumnDefinition Width="241.795"/>
 
-                     </Grid.ColumnDefinitions>
 
-                     <UserControls:GroupTextBoxControl Grid.Row="1" Title="DIW Loop DO" Unit="ppm" MinValue="0" MaxValue="10"  Width="300"
 
-                                                                  IntValue="{Binding Recipe.DiwLoopDoSet,Mode=TwoWay}" 
 
-                                                                  ValidResult="{Binding PropertyValidResultDic[DiwLoopDoSet],Mode=TwoWay}" Grid.ColumnSpan="2" />
 
-                     <GroupBox Grid.Row="0" IsEnabled="{Binding Enable}" Margin="0,10,0,0" Grid.ColumnSpan="2">
 
-                         <Grid>
 
-                             <Label Content="Purge Enable" Height="30" VerticalAlignment="Top" />
 
-                             <RadioButton Content="True" Height="30" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Left"
 
-            Command="{Binding AutoCurrentBasedFalseCommand}"  IsChecked="{Binding Recipe.PurgeEnable,Mode=TwoWay}" Margin="158,-1,0,-6" ></RadioButton>
 
-                             <RadioButton Content="False" Height="30" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Center" 
 
-             Command="{Binding AutoCurrentBasedTrueCommand}"  IsChecked="{Binding Recipe.PurgeEnable,Mode=TwoWay,Converter={StaticResource boolReverseConverter}}" Margin="220,-1,0,-6" ></RadioButton>
 
-                         </Grid>
 
-                     </GroupBox>
 
-                 </Grid>
 
-             </GroupBox>
 
-             <GroupBox  Header="4.Spin Off" Grid.Column="0"  Padding="10"  Grid.Row="1">
 
-                 <Grid>
 
-                     <Grid.RowDefinitions>
 
-                         <RowDefinition Height="75"></RowDefinition>
 
-                         <RowDefinition Height="75"></RowDefinition>
 
-                     </Grid.RowDefinitions>
 
-                     <Grid.ColumnDefinitions>
 
-                         <ColumnDefinition Width="58.205"></ColumnDefinition>
 
-                         <ColumnDefinition Width="241.795"/>
 
-                     </Grid.ColumnDefinitions>
 
-                     <UserControls:GroupTextBoxControl Grid.Row="0" Title="Spin Speed" Unit="rpm" MinValue="0" MaxValue="1000"  Width="300"
 
-                                                       IntValue="{Binding Recipe.SpinSpeed,Mode=TwoWay}" 
 
-                                                       ValidResult="{Binding PropertyValidResultDic[SpinSpeed],Mode=TwoWay}" Grid.ColumnSpan="2" />
 
-                     <UserControls:GroupTextBoxControl Grid.Row="1" Title="Spin Time" Unit="sec" MinValue="0" MaxValue="10"  Width="300"
 
-                                    IntValue="{Binding Recipe.SpinTime,Mode=TwoWay}" 
 
-                                    ValidResult="{Binding PropertyValidResultDic[SpinTime],Mode=TwoWay}" Grid.ColumnSpan="2" />
 
-                 </Grid>
 
-             </GroupBox>
 
-             <GroupBox  Header="2.Vent Prewet" Grid.Column="1"  Padding="10" Grid.Row="0" Grid.RowSpan="2">
 
-                 <Grid Margin="0,0,0,0">
 
-                     <Grid.RowDefinitions>
 
-                         <RowDefinition Height="45"></RowDefinition>
 
-                         <RowDefinition Height="45"></RowDefinition>
 
-                         <RowDefinition Height="45"></RowDefinition>
 
-                         <RowDefinition Height="300"></RowDefinition>
 
-                     </Grid.RowDefinitions>
 
-                     <Grid.ColumnDefinitions>
 
-                         <ColumnDefinition Width="300"></ColumnDefinition>
 
-                     </Grid.ColumnDefinitions>
 
-                     <Button Grid.Row="6" Style="{StaticResource SysBtnStyle}"  IsEnabled="{Binding Enable}" Content="Add Below" Height="25" Width="80" FontSize="10" Command="{Binding VentPrewetAddBelowCommand}" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,-100,-20,0"></Button>
 
-                     <Button Grid.Row="6" Style="{StaticResource SysBtnStyle}"  IsEnabled="{Binding Enable}" Content="Add Above" Height="25" Width="80" FontSize="10" Command="{Binding VentPrewetAddAboveCommand}" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,-30,-20,0"></Button>
 
-                     <Button Grid.Row="6" Style="{StaticResource SysBtnStyle}"  IsEnabled="{Binding Enable}" Content="Move Up" Height="25" Width="80" FontSize="10" Command="{Binding VentPrewetMoveUpCommand}" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,40,-20,0"></Button>
 
-                     <Button Grid.Row="6" Style="{StaticResource SysBtnStyle}"  IsEnabled="{Binding Enable}" Content="Move Down" Height="25" Width="80" FontSize="10" Command="{Binding VentPrewetMoveDownCommand}" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,110,-20,0"></Button>
 
-                     <Button Grid.Row="6" Style="{StaticResource SysBtnStyle}"  IsEnabled="{Binding Enable}" Content="Delete" Height="25" Width="80" FontSize="10" Command="{Binding VentPrewetDeleteCommand}" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,180,-20,0"></Button>
 
-                     <UserControls:GroupTextBoxControl Grid.Row="3" Title="Flow Set Ponit" Unit="L/min" MinValue="0" MaxValue="10" Width="120" Margin="-1,2,201,220"
 
-                                                           IntValue="{Binding Recipe.VentPrewetFlowSetPoint,Mode=TwoWay}" 
 
-                                                           ValidResult="{Binding PropertyValidResultDic[VentPrewetFlowSetPoint],Mode=TwoWay}"  />
 
-                     <UserControls:GroupTextBoxControl Grid.Row="3" Title="Flow Warning" Unit="%" MinValue="0" MaxValue="100" Margin="96,2,84,220" Width="120"
 
-                                            IntValue="{Binding Recipe.VentPrewetFlowWarningPercent,Mode=TwoWay}" 
 
-                                            ValidResult="{Binding PropertyValidResultDic[VentPrewetFlowWarningPercent],Mode=TwoWay}"  />
 
-                     <UserControls:GroupTextBoxControl Grid.Row="3" Title="Flow Fault" Unit="%" MinValue="0" MaxValue="100" Margin="213,2,-15,220" Width="120"
 
-                                            IntValue="{Binding Recipe.VentPrewetFlowErrorPercent,Mode=TwoWay}" 
 
-                                            ValidResult="{Binding PropertyValidResultDic[VentPrewetFlowErrorPercent],Mode=TwoWay}"  />
 
-                     <GroupBox Grid.Row="0" IsEnabled="{Binding Enable}" Margin="0,10,0,0">
 
-                         <Grid>
 
-                             <Label Content="Drip Enable" Height="30" VerticalAlignment="Top" />
 
-                             <RadioButton Content="True" Height="30" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Left"
 
- Command="{Binding AutoCurrentBasedFalseCommand}"  IsChecked="{Binding Recipe.VentPrewetDripEnable ,Mode=TwoWay}" Margin="158,-1,0,-6" ></RadioButton>
 
-                             <RadioButton Content="False" Height="30" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Center" 
 
-  Command="{Binding AutoCurrentBasedTrueCommand}"  IsChecked="{Binding Recipe.VentPrewetDripEnable,Mode=TwoWay,Converter={StaticResource boolReverseConverter}}" Margin="220,-1,0,-6" ></RadioButton>
 
-                         </Grid>
 
-                     </GroupBox>
 
-                     <GroupBox Grid.Row="1" IsEnabled="{Binding Enable}" Margin="0,10,0,0">
 
-                         <Grid>
 
-                             <Label Content="Small Enable" Height="30" VerticalAlignment="Top" />
 
-                             <RadioButton Content="True" Height="30" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Left"
 
- Command="{Binding AutoCurrentBasedFalseCommand}"  IsChecked="{Binding Recipe.VentPrewetSmallEnable ,Mode=TwoWay}" Margin="158,-1,0,-6" ></RadioButton>
 
-                             <RadioButton Content="False" Height="30" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Center" 
 
-  Command="{Binding AutoCurrentBasedTrueCommand}"  IsChecked="{Binding Recipe.VentPrewetSmallEnable,Mode=TwoWay,Converter={StaticResource boolReverseConverter}}" Margin="220,-1,0,-6" ></RadioButton>
 
-                         </Grid>
 
-                     </GroupBox>
 
-                     <GroupBox Grid.Row="2" IsEnabled="{Binding Enable}" Margin="0,10,0,0">
 
-                         <Grid>
 
-                             <Label Content="Large" Height="30" VerticalAlignment="Top" />
 
-                             <RadioButton Content="True" Height="30" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Left"
 
- Command="{Binding AutoCurrentBasedFalseCommand}"  IsChecked="{Binding Recipe.VentPrewetLargeEnable ,Mode=TwoWay}" Margin="158,-1,0,-6" ></RadioButton>
 
-                             <RadioButton Content="False" Height="30" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Center" 
 
-  Command="{Binding AutoCurrentBasedTrueCommand}"  IsChecked="{Binding Recipe.VentPrewetLargeEnable,Mode=TwoWay,Converter={StaticResource boolReverseConverter}}" Margin="220,-1,0,-6" ></RadioButton>
 
-                         </Grid>
 
-                     </GroupBox>
 
-                     <DataGrid x:Name="VentPrewetRinseGrid" Width="215" MinRowHeight="27" Grid.Row="3" AutoGenerateColumns="False"  CanUserAddRows="False"  FontFamily="Arial" FontSize="14" Margin="8,89,77,1" 
 
-           ItemsSource="{Binding Recipe.VentRinseStep}" SelectionMode="Single" IsEnabled="{Binding Enable}" SelectedIndex="{Binding SelectedVentPrewetIndex,Mode=TwoWay}"
 
-                               ScrollViewer.HorizontalScrollBarVisibility="Disabled"  ScrollViewer.VerticalScrollBarVisibility="Auto" >
 
-                         <DataGrid.Resources>
 
-                             <extendedControls:BindingProxy x:Key="DataShowProxy"  Data="{Binding}" />
 
-                         </DataGrid.Resources>
 
-                         <DataGrid.Columns>
 
-                             <DataGridTextColumn Header="Step" Width="50"  IsReadOnly="True" Binding="{Binding Step,Mode=TwoWay}" CanUserSort="false" CanUserReorder="False" CanUserResize="False"/>
 
-                             <DataGridTextColumn Header="Time(sec)" Width="80"  Binding="{Binding DurationSeconds,Mode=TwoWay,ValidatesOnDataErrors=True}" CanUserSort="false" CanUserReorder="False" CanUserResize="False" >
 
-                             </DataGridTextColumn>
 
-                             <DataGridTextColumn Header="Speed(rpm)" Width="85"  Binding="{Binding RotationSpeed,Mode=TwoWay,ValidatesOnDataErrors=True}" CanUserSort="false" CanUserReorder="False" CanUserResize="False" >
 
-                             </DataGridTextColumn>
 
-                         </DataGrid.Columns>
 
-                     </DataGrid>
 
-                 </Grid>
 
-             </GroupBox>
 
-             <GroupBox  Header="3.Extend Clean" Grid.Column="2"  Padding="10" Grid.Row="0" Grid.RowSpan="2">
 
-                 <Grid>
 
-                     <Grid.RowDefinitions>
 
-                         <RowDefinition Height="45"></RowDefinition>
 
-                         <RowDefinition Height="45"></RowDefinition>
 
-                         <RowDefinition Height="45"></RowDefinition>
 
-                         <RowDefinition Height="200"></RowDefinition>
 
-                     </Grid.RowDefinitions>
 
-                     <Grid.ColumnDefinitions>
 
-                         <ColumnDefinition Width="300"></ColumnDefinition>
 
-                     </Grid.ColumnDefinitions>
 
-                     <Button Grid.Row="6" Style="{StaticResource SysBtnStyle}"  IsEnabled="{Binding Enable}" Content="Add Below" Height="25" Width="80" FontSize="10" Command="{Binding ExtendCleanAddBelowCommand}" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,10,-20,0"></Button>
 
-                     <Button Grid.Row="6" Style="{StaticResource SysBtnStyle}"  IsEnabled="{Binding Enable}" Content="Add Above" Height="25" Width="80" FontSize="10" Command="{Binding ExtendCleanAddAboveCommand}" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,80,-20,0"></Button>
 
-                     <Button Grid.Row="6" Style="{StaticResource SysBtnStyle}"  IsEnabled="{Binding Enable}" Content="Move Up" Height="25" Width="80" FontSize="10" Command="{Binding ExtendCleanMoveUpCommand}" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,150,-20,0"></Button>
 
-                     <Button Grid.Row="3" Style="{StaticResource SysBtnStyle}"  IsEnabled="{Binding Enable}" Content="Move Down" FontSize="10" Height="26" Width="80" Command="{Binding ExtendCleanMoveDownCommand}" HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="0,0,-20,-23"/>
 
-                     <Button Grid.Row="3" Style="{StaticResource SysBtnStyle}"  IsEnabled="{Binding Enable}" Content="Delete" Height="24" Width="80" FontSize="10" Command="{Binding ExtendCleanDeleteCommand}" HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="0,0,-20,-57"></Button>
 
-                     <UserControls:GroupTextBoxControl Grid.Row="3" Title="Flow Set Ponit" Unit="L/min" MinValue="0" MaxValue="10" Width="120" Margin="1,3,199,123"
 
-                                        IntValue="{Binding Recipe.ExtendCleanFlowSetPoint,Mode=TwoWay}" 
 
-                                        ValidResult="{Binding PropertyValidResultDic[ExtendCleanFlowSetPoint],Mode=TwoWay}"  />
 
-                     <UserControls:GroupTextBoxControl Grid.Row="3" Title="Flow Warning" Unit="%" MinValue="0" MaxValue="100" Margin="100,2,105,122" Width="120"
 
-                         IntValue="{Binding Recipe.ExtendCleanFlowWarningPercent,Mode=TwoWay}" 
 
-                         ValidResult="{Binding PropertyValidResultDic[ExtendCleanFlowWarningPercent],Mode=TwoWay}"  />
 
-                     <UserControls:GroupTextBoxControl Grid.Row="3" Title="Flow Fault" Unit="%" MinValue="0" MaxValue="100" Margin="196,1,-16,122" Width="120"
 
-                         IntValue="{Binding Recipe.ExtendCleanFlowErrorPercent,Mode=TwoWay}" 
 
-                         ValidResult="{Binding PropertyValidResultDic[ExtendCleanFlowErrorPercent],Mode=TwoWay}"  />
 
-                     <GroupBox Grid.Row="0" IsEnabled="{Binding Enable}" Margin="0,10,0,0">
 
-                         <Grid>
 
-                             <Label Content="Drip Enable" Height="30" VerticalAlignment="Top" />
 
-                             <RadioButton Content="True" Height="30" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Left"
 
- Command="{Binding AutoCurrentBasedFalseCommand}"  IsChecked="{Binding Recipe.ExtendCleanDripEnable ,Mode=TwoWay}" Margin="158,-1,0,-6" ></RadioButton>
 
-                             <RadioButton Content="False" Height="30" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Center" 
 
-  Command="{Binding AutoCurrentBasedTrueCommand}"  IsChecked="{Binding Recipe.ExtendCleanDripEnable,Mode=TwoWay,Converter={StaticResource boolReverseConverter}}" Margin="220,-1,0,-6" ></RadioButton>
 
-                         </Grid>
 
-                     </GroupBox>
 
-                     <GroupBox Grid.Row="1" IsEnabled="{Binding Enable}" Margin="0,10,0,0">
 
-                         <Grid>
 
-                             <Label Content="Small Enable" Height="30" VerticalAlignment="Top" />
 
-                             <RadioButton Content="True" Height="30" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Left"
 
- Command="{Binding AutoCurrentBasedFalseCommand}"  IsChecked="{Binding Recipe.ExtendCleanSmallEnable ,Mode=TwoWay}" Margin="158,-1,0,-6" ></RadioButton>
 
-                             <RadioButton Content="False" Height="30" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Center" 
 
-  Command="{Binding AutoCurrentBasedTrueCommand}"  IsChecked="{Binding Recipe.ExtendCleanSmallEnable,Mode=TwoWay,Converter={StaticResource boolReverseConverter}}" Margin="220,-1,0,-6" ></RadioButton>
 
-                         </Grid>
 
-                     </GroupBox>
 
-                     <GroupBox Grid.Row="2" IsEnabled="{Binding Enable}" Margin="0,10,0,0">
 
-                         <Grid>
 
-                             <Label Content="Large" Height="30" VerticalAlignment="Top" />
 
-                             <RadioButton Content="True" Height="30" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Left"
 
- Command="{Binding AutoCurrentBasedFalseCommand}"  IsChecked="{Binding Recipe.ExtendCleanLargeEnable ,Mode=TwoWay}" Margin="158,-1,0,-6" ></RadioButton>
 
-                             <RadioButton Content="False" Height="30" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Center" 
 
-  Command="{Binding AutoCurrentBasedTrueCommand}"  IsChecked="{Binding Recipe.ExtendCleanLargeEnable,Mode=TwoWay,Converter={StaticResource boolReverseConverter}}" Margin="220,-1,0,-6" ></RadioButton>
 
-                         </Grid>
 
-                     </GroupBox>
 
-                     <DataGrid x:Name="ExtendCleanRinseGrid" Width="215" MinRowHeight="27" Grid.Row="3" AutoGenerateColumns="False"  CanUserAddRows="False"  FontFamily="Arial" FontSize="14" Margin="12,93,73,-83" 
 
-           ItemsSource="{Binding Recipe.ExtendCleanRinseStep}" SelectionMode="Single" IsEnabled="{Binding Enable}" SelectedIndex="{Binding SelectedExtendCleanIndex,Mode=TwoWay}"
 
-                               ScrollViewer.HorizontalScrollBarVisibility="Disabled"  ScrollViewer.VerticalScrollBarVisibility="Auto">
 
-                         <DataGrid.Resources>
 
-                             <extendedControls:BindingProxy x:Key="DataShowProxy"  Data="{Binding}" />
 
-                         </DataGrid.Resources>
 
-                         <DataGrid.Columns>
 
-                             <DataGridTextColumn Header="Step" Width="50"  IsReadOnly="True" Binding="{Binding Step,Mode=TwoWay}" CanUserSort="false" CanUserReorder="False" CanUserResize="False"/>
 
-                             <DataGridTextColumn Header="Time(sec)" Width="80"  Binding="{Binding DurationSeconds,Mode=TwoWay,ValidatesOnDataErrors=True}" CanUserSort="false" CanUserReorder="False" CanUserResize="False" >
 
-                             </DataGridTextColumn>
 
-                             <DataGridTextColumn Header="Speed(rpm)" Width="85"  Binding="{Binding RotationSpeed,Mode=TwoWay,ValidatesOnDataErrors=True}" CanUserSort="false" CanUserReorder="False" CanUserResize="False" >
 
-                             </DataGridTextColumn>
 
-                         </DataGrid.Columns>
 
-                     </DataGrid>
 
-                 </Grid>
 
-             </GroupBox>
 
-         </Grid>
 
-     </Grid>
 
- </UserControl>
 
 
  |