| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415 | <UserControl x:Class="VirgoUI.Client.Models.PMs.PmOverviewView"             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:ctrl="http://OpenSEMI.Ctrlib.com/presentation"             xmlns:cal="http://www.caliburn.org"             xmlns:deviceControl="clr-namespace:Aitex.Core.UI.DeviceControl;assembly=MECF.Framework.UI.Core"             xmlns:control="clr-namespace:Aitex.Core.UI.Control;assembly=MECF.Framework.UI.Core"             xmlns:parts="clr-namespace:VirgoUI.Controls.Parts"             xmlns:pMs="clr-namespace:VirgoUI.Client.Models.PMs"             xmlns:converters="clr-namespace:Aitex.Core.UI.Converters;assembly=MECF.Framework.UI.Core"             mc:Ignorable="d"              d:DesignHeight="800" d:DesignWidth="1530">    <UserControl.Resources>        <converters:bool2VisibilityConverter x:Key="bool2VisibilityConvert"/>        <Storyboard x:Key="SlitValve_Open">            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Height)" >                <EasingDoubleKeyFrame KeyTime="0" Value="75"/>                <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="55"/>            </DoubleAnimationUsingKeyFrames>        </Storyboard>        <Storyboard x:Key="SlitValve_Close">            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Height)" >                <EasingDoubleKeyFrame KeyTime="0" Value="55"/>                <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="75"/>            </DoubleAnimationUsingKeyFrames>        </Storyboard>        <Style TargetType="{x:Type Rectangle}" x:Key="SlitValve_Animation" >            <Style.Triggers>                <DataTrigger Binding="{Binding IsSlitValveOpen}" Value="true">                    <DataTrigger.EnterActions>                        <BeginStoryboard Storyboard="{StaticResource SlitValve_Open}"/>                    </DataTrigger.EnterActions>                    <DataTrigger.ExitActions>                        <BeginStoryboard Storyboard="{StaticResource SlitValve_Close}"/>                    </DataTrigger.ExitActions>                </DataTrigger>            </Style.Triggers>        </Style>        <DataTemplate x:Key="Default">            <Grid>                <Grid.ColumnDefinitions>                    <ColumnDefinition Width="125"></ColumnDefinition>                    <ColumnDefinition></ColumnDefinition>                </Grid.ColumnDefinitions>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,0"  Grid.Row="0" Padding="0">                    <TextBlock Text="{Binding Feedback}" TextAlignment="Center" Width="90" Margin="0"></TextBlock>                </Border>                <TextBlock Text="{Binding Setpoint}" Grid.Column="1" TextAlignment="Center" Width="90">                    <TextBlock.Style>                        <Style>                            <Setter Property="TextBlock.Visibility" Value="Collapsed" ></Setter>                            <Style.Triggers>                                <DataTrigger Binding="{Binding SetpointEnabled}" Value="False">                                    <Setter Property="TextBlock.Visibility" Value="Visible" ></Setter>                                </DataTrigger>                            </Style.Triggers>                        </Style>                    </TextBlock.Style>                </TextBlock>                <ctrl:TextBoxEx Text="{Binding Setpoint, UpdateSourceTrigger=PropertyChanged}" TextSaved="{Binding SetpointSaved, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Grid.Column="1" Width="90">                    <!--<i:Interaction.Triggers>                        <i:EventTrigger EventName="KeyDown">                            <cal:ActionMessage MethodName="SetParameter">                                <cal:Parameter Value="$eventargs" />                                <cal:Parameter Value="{Binding }" />                            </cal:ActionMessage>                        </i:EventTrigger>                    </i:Interaction.Triggers>-->                    <TextBox.Style>                        <Style>                            <Setter Property="TextBox.Visibility" Value="Collapsed" ></Setter>                            <Style.Triggers>                                <DataTrigger Binding="{Binding SetpointEnabled}" Value="True">                                    <Setter Property="TextBox.Visibility" Value="Visible" ></Setter>                                </DataTrigger>                            </Style.Triggers>                        </Style>                    </TextBox.Style>                </ctrl:TextBoxEx>            </Grid>        </DataTemplate>        <DataTemplate x:Key="Share">            <TextBlock Text="{Binding Feedback}" Width="250" TextAlignment="Center"></TextBlock>        </DataTemplate>        <DataTemplate x:Key="DropdownList">            <Grid>                <Grid.ColumnDefinitions>                    <ColumnDefinition Width="125"></ColumnDefinition>                    <ColumnDefinition></ColumnDefinition>                </Grid.ColumnDefinitions>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,0"  Grid.Row="0" Padding="0">                    <TextBlock Text="{Binding Feedback}" TextAlignment="Center" Width="90" Margin="0"></TextBlock>                </Border>                <ComboBox ItemsSource="{Binding Selections}"  SelectedValue="{Binding Setpoint, UpdateSourceTrigger=PropertyChanged}" Grid.Column="1" Width="120"></ComboBox>            </Grid>        </DataTemplate>        <DataTemplate x:Key="ListBoxDataTemp">            <Canvas Width="60" Height="200">                <Grid Width="60">                    <Grid.RowDefinitions>                        <RowDefinition Height="20"/>                        <RowDefinition Height="20"/>                    </Grid.RowDefinitions>                    <!--<TextBlock Text="{Binding Display}" FontFamily="Arial" TextAlignment="Center" FontSize="14" Foreground="{DynamicResource FG_Black}" HorizontalAlignment="Center" VerticalAlignment="Center"/>-->                    <TextBlock Grid.Row="1" Text="{Binding MfcData.DisplayName}" FontFamily="Arial" TextAlignment="Center" FontSize="14" Foreground="{DynamicResource FG_Black}" VerticalAlignment="Center" HorizontalAlignment="Center"/>                </Grid>                <ctrl:Gasline Orientation="Vertical" Height="160" Canvas.Left="27" Canvas.Top="40"/>                <ctrl:GaslineJoint JointType="UP" Canvas.Left="27" Canvas.Top="200"/>                <control:FlowPipeV2 Width="200"  Height="8" FlowOrientation="Vertical"  IsFlowing="{Binding ValveData.Feedback}"  Canvas.Left="35" Canvas.Top="41" />                <control:FlowPipeV2 Width="50"  Height="8" FlowOrientation="Vertical"  IsFlowing="{Binding ValveData.Feedback}"  Canvas.Left="35" Canvas.Top="100" />                <deviceControl:AITGasValve Canvas.Left="14" Canvas.Top="130" ValveOpenOrientation="Vertical" DeviceData="{Binding ValveData}" EnableServiceControl="True" IsAutoMode="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type UserControl}},Path= DataContext.IsAutoMode}" />                <control:MfcControl Canvas.Left="10" Canvas.Top="90"  DeviceData="{Binding MfcData}" IsAutoMode="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type UserControl}},Path= DataContext.IsAutoMode}" />            </Canvas>        </DataTemplate>        <pMs:PMTemplateSelector x:Key="SPSelector" DefaultTemplate="{StaticResource Default}" ShareTemplate="{StaticResource Share}" DropDownListTemplate="{StaticResource DropdownList}" />    </UserControl.Resources>    <Grid>        <Grid.ColumnDefinitions>            <ColumnDefinition />            <ColumnDefinition Width="Auto"/>            <ColumnDefinition Width="Auto"/>        </Grid.ColumnDefinitions>        <Canvas Grid.Column="0" Width="800" Height="800" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0 0 20 0" >            <!--Lid 盖子,其实没有Lid开关控制信号,盖子上有把锁, 和温度有interlock-->            <!--<Grid  Width="220"    HorizontalAlignment="Center" VerticalAlignment="Top" Canvas.Left="425" Canvas.Top="10">                <Grid.RowDefinitions>                    <RowDefinition Height="24"/>                    <RowDefinition Height="40"/>                    <RowDefinition />                </Grid.RowDefinitions>                <Border  BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="0" Grid.Column="0" Padding="5,1">                    <TextBlock Text="Lid Control" TextWrapping="Wrap" TextAlignment="Center" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.ColumnSpan="2" Padding="5,1">                    <StackPanel  Orientation="Horizontal" HorizontalAlignment="Center" >                        <Button Content="Open Lid" IsEnabled="{Binding EnableOpenLid}" Width="90" Height="25" Margin="0">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="OpenLid"></cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                        <Button Content="Close Lid" IsEnabled="{Binding EnableCloseLid}" Width="90" Height="25" Margin="5">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="CloseLid"></cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                    </StackPanel>                </Border>            </Grid>-->            <!--DI switch signals-->            <Grid Canvas.Left="45" Canvas.Top="90">                <Grid.ColumnDefinitions>                    <ColumnDefinition Width="100"/>                    <ColumnDefinition Width="105"/>                    <ColumnDefinition Width="100"/>                    <ColumnDefinition Width="105"/>                </Grid.ColumnDefinitions>                <Grid.RowDefinitions>                    <RowDefinition Height="25"/>                    <RowDefinition Height="25"/>                    <RowDefinition Height="25"/>                    <RowDefinition Height="25"/>                </Grid.RowDefinitions>                <!--chamber status-->                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="0" Padding="5,1">                    <TextBlock Text="State" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="0" Grid.Column="1" Padding="5,1">                    <TextBlock Text="{Binding Path=ChamberStatus}" Background="{Binding ChamberStatusBkColor}" TextAlignment="Center" VerticalAlignment="Center"/>                </Border>                <!--SensorWaterFlowOk-->                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="1" Padding="5,1">                    <TextBlock Text="Water Flow" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="1" Padding="5,1">                    <deviceControl:AITSensor IsInterlockMode="True" DeviceData="{Binding SensorWaterFlowOk}"   />                </Border>                <!--SensorCDAPressureOk-->                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="2" Padding="5,1">                    <TextBlock Text="CDA" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Grid.Column="1" Padding="5,1">                    <StackPanel Orientation="Horizontal">                        <deviceControl:AITSensor  IsInterlockMode="True" DeviceData="{Binding SensorCDAPressureOk}" Margin="25,0,0,0"/>                        <deviceControl:AITSensor  IsInterlockMode="True" DeviceData="{Binding SensorCDAPressureOk2}" Margin="10,0,0,0"/>                    </StackPanel>                </Border>                <!--SourceFan1-->                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="3" Padding="5,1">                    <TextBlock Text="Fan" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="3" Grid.Column="1" Padding="5,1">                    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">                        <deviceControl:AITSensor IsInterlockMode="True" DeviceData="{Binding SourceFan1}" />                    </StackPanel>                </Border>                <!--SensorWaterLeakOk-->                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="0" Grid.Column="2" Padding="5,1">                    <TextBlock Text="Water Leak" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="0" Grid.Column="3" Padding="5,1">                    <deviceControl:AITSensor  IsInterlockMode="True" DeviceData="{Binding SensorWaterLeakOk}" />                </Border>                <!--SensorArmNotExtend-->                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="2" Grid.Column="2"  Padding="5,1">                    <TextBlock Text="Arm Unextend" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Grid.Column="3" Padding="5,1">                    <deviceControl:AITSensor  IsInterlockMode="True" DeviceData="{Binding SensorArmNotExtend}" />                </Border>                <!--ATM Switch-->                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="3" Grid.Column="2" Padding="5,1">                    <TextBlock Text="ATM" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="3" Grid.Column="3" Padding="5,1">                    <deviceControl:AITSensor GreenColor="True"   DeviceData="{Binding SensorATMSwitch}" />                </Border>                <!--VAC switch-->                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="1" Grid.Column="2" Padding="5,1">                    <TextBlock Text="Vac" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="3" Padding="5,1">                    <deviceControl:AITSensor GreenColor="True" DeviceData="{Binding SensorVacSwitch}" />                </Border>            </Grid>            <Canvas Canvas.Left="121" Canvas.Top="280" >                <!-- Fast vent valve-->                <TextBlock Text="Vent" FontFamily="Arial" TextAlignment="Center" FontSize="14" Foreground="{DynamicResource FG_Black}" Canvas.Left="212" Canvas.Top="-87"/>                <TextBlock Text="Purge" FontFamily="Arial" TextAlignment="Center" FontSize="14" Foreground="{DynamicResource FG_Black}" Canvas.Left="252" Canvas.Top="-60"/>                <ctrl:Gasline Orientation="Vertical" Height="166" Canvas.Left="220" Canvas.Top="-66"  />                <control:FlowPipeV2 Width="168" Height="7"  IsFlowing="{Binding FastVentVlv.Feedback}" Canvas.Left="228" Canvas.Top="-66" >                    <control:FlowPipeV2.RenderTransform>                        <RotateTransform Angle="90"></RotateTransform>                    </control:FlowPipeV2.RenderTransform>                </control:FlowPipeV2>                <deviceControl:AITGasValve Canvas.Left="208" Canvas.Top="-19" ValveOpenOrientation="Vertical" DeviceData="{Binding FastVentVlv}" EnableServiceControl="{Binding enableServiceControl}" IsAutoMode="{Binding IsAutoMode}"/>                <ctrl:Gasline Orientation="Vertical" Height="73" Canvas.Left="265" Canvas.Top="-41"   />                <ctrl:Gasline Orientation="Horizontal"   Canvas.Left="227" Canvas.Top="-41" Width="38"    />                <ctrl:Gasline Orientation="Horizontal"   Canvas.Left="227" Canvas.Top="27" Width="38"    />                <ctrl:GaslineJoint JointType="RIGHT"  Canvas.Left="220" Canvas.Top="27" />                <ctrl:GaslineJoint JointType="RIGHT_BOTTOM"  Canvas.Left="265" Canvas.Top="27" />                <ctrl:GaslineJoint JointType="RIGHT_TOP"  Canvas.Left="265" Canvas.Top="-41" />                <ctrl:GaslineJoint JointType="RIGHT"  Canvas.Left="220" Canvas.Top="-41" />                <control:FlowPipeV2 Width="38"  Height="8"  IsFlowing="{Binding SoftVentVlv.Feedback}"  Visibility="{Binding Path=SoftVentVlv.Feedback, Converter={StaticResource bool2VisibilityConvert}}"    Canvas.Left="227" Canvas.Top="-41" />                <control:FlowPipeV2 Width="29"  Height="8"  IsFlowing="{Binding SoftVentVlv.Feedback}"  Visibility="{Binding Path=SoftVentVlv.Feedback, Converter={StaticResource bool2VisibilityConvert}}"    Canvas.Left="210" Canvas.Top="-55" RenderTransformOrigin="0.5,0.5" >                    <control:FlowPipeV2.RenderTransform>                        <TransformGroup>                            <ScaleTransform/>                            <SkewTransform/>                            <RotateTransform Angle="90"/>                            <TranslateTransform/>                        </TransformGroup>                    </control:FlowPipeV2.RenderTransform>                </control:FlowPipeV2>                <control:FlowPipeV2 Width="77"  Height="8"  IsFlowing="{Binding SoftVentVlv.Feedback}"  Visibility="{Binding Path=SoftVentVlv.Feedback, Converter={StaticResource bool2VisibilityConvert}}"    Canvas.Left="231" Canvas.Top="-7" RenderTransformOrigin="0.5,0.5" >                    <control:FlowPipeV2.RenderTransform>                        <TransformGroup>                            <ScaleTransform/>                            <SkewTransform/>                            <RotateTransform Angle="90"/>                            <TranslateTransform/>                        </TransformGroup>                    </control:FlowPipeV2.RenderTransform>                </control:FlowPipeV2>                <control:FlowPipeV2 Width="62"  Height="8"  IsFlowing="{Binding SoftVentVlv.Feedback}"  Visibility="{Binding Path=SoftVentVlv.Feedback, Converter={StaticResource bool2VisibilityConvert}}"    Canvas.Left="194" Canvas.Top="56" RenderTransformOrigin="0.5,0.5" >                    <control:FlowPipeV2.RenderTransform>                        <TransformGroup>                            <ScaleTransform/>                            <SkewTransform/>                            <RotateTransform Angle="90"/>                            <TranslateTransform/>                        </TransformGroup>                    </control:FlowPipeV2.RenderTransform>                </control:FlowPipeV2>                <control:FlowPipeV2 Width="38"  Height="8"  IsFlowing="{Binding SoftVentVlv.Feedback}"  Visibility="{Binding Path=SoftVentVlv.Feedback, Converter={StaticResource bool2VisibilityConvert}}"    Canvas.Left="227" Canvas.Top="27" RenderTransformOrigin="0.5,0.5" >                    <control:FlowPipeV2.RenderTransform>                        <TransformGroup>                            <ScaleTransform/>                            <SkewTransform/>                            <RotateTransform Angle="180"/>                            <TranslateTransform/>                        </TransformGroup>                    </control:FlowPipeV2.RenderTransform>                </control:FlowPipeV2>                <deviceControl:AITGasValve Canvas.Left="253" Canvas.Top="-18" ValveOpenOrientation="Vertical" DeviceData="{Binding SoftVentVlv}" EnableServiceControl="{Binding enableServiceControl}" IsAutoMode="{Binding IsAutoMode}"/>            </Canvas>            <ctrl:Gasline Width="430" Canvas.Left="15" Canvas.Top="376"  />            <!--<control:FlowPipeV2 Width="170"  Height="8"  IsFlowing="{Binding GP1Valve.Feedback}"   Canvas.Left="50" Canvas.Top="292" RenderTransformOrigin="0.5,0.5" >                <control:FlowPipeV2.RenderTransform>                    <TransformGroup>                        <ScaleTransform/>                        <SkewTransform/>                        <RotateTransform Angle="90"/>                        <TranslateTransform/>                    </TransformGroup>                </control:FlowPipeV2.RenderTransform>            </control:FlowPipeV2>            <control:FlowPipeV2 Width="170"  Height="8"  IsFlowing="{Binding GP2Valve.Feedback}"  Canvas.Left="112" Canvas.Top="296" RenderTransformOrigin="0.5,0.5" >                <control:FlowPipeV2.RenderTransform>                    <TransformGroup>                        <ScaleTransform/>                        <SkewTransform/>                        <RotateTransform Angle="90"/>                        <TranslateTransform/>                    </TransformGroup>                </control:FlowPipeV2.RenderTransform>            </control:FlowPipeV2>            <control:FlowPipeV2 Width="170"  Height="8"  IsFlowing="{Binding GP3Valve.Feedback}"   Canvas.Left="180" Canvas.Top="295" RenderTransformOrigin="0.5,0.5" >                <control:FlowPipeV2.RenderTransform>                    <TransformGroup>                        <ScaleTransform/>                        <SkewTransform/>                        <RotateTransform Angle="90"/>                        <TranslateTransform/>                    </TransformGroup>                </control:FlowPipeV2.RenderTransform>            </control:FlowPipeV2>-->            <ItemsControl Canvas.Left="-15" Canvas.Top="176" Width="300" Height="200" ItemsSource="{Binding Gaslines}"                          ItemTemplate="{StaticResource ListBoxDataTemp}" Focusable="False"  HorizontalAlignment="Left" VerticalAlignment="Top"  >                <ItemsControl.ItemsPanel>                    <ItemsPanelTemplate >                        <VirtualizingStackPanel Orientation="Horizontal"/>                    </ItemsPanelTemplate>                </ItemsControl.ItemsPanel>            </ItemsControl>            <control:FlowPipeV2 Width="430" Height="8" Canvas.Left="15" Canvas.Top="376"  >                <control:FlowPipeV2.IsFlowing>                    <MultiBinding>                        <MultiBinding.Converter>                            <converters:FlowConverterFirstFalseMultiBinding></converters:FlowConverterFirstFalseMultiBinding>                        </MultiBinding.Converter>                        <MultiBinding.Bindings>                            <Binding Path="ProcessVlv.Feedback"></Binding>                            <Binding Path="GP1Valve.Feedback"></Binding>                        </MultiBinding.Bindings>                    </MultiBinding>                </control:FlowPipeV2.IsFlowing>            </control:FlowPipeV2>            <control:FlowPipeV2 Width="365" Height="8" Canvas.Left="80" Canvas.Top="376"  >                <control:FlowPipeV2.IsFlowing>                    <MultiBinding>                        <MultiBinding.Converter>                            <converters:FlowConverterFirstFalseMultiBinding></converters:FlowConverterFirstFalseMultiBinding>                        </MultiBinding.Converter>                        <MultiBinding.Bindings>                            <Binding Path="ProcessVlv.Feedback"></Binding>                            <Binding Path="GP2Valve.Feedback"></Binding>                        </MultiBinding.Bindings>                    </MultiBinding>                </control:FlowPipeV2.IsFlowing>            </control:FlowPipeV2>            <control:FlowPipeV2 Width="305" Height="8" Canvas.Left="140" Canvas.Top="376"  >                <control:FlowPipeV2.IsFlowing>                    <MultiBinding>                        <MultiBinding.Converter>                            <converters:FlowConverterFirstFalseMultiBinding></converters:FlowConverterFirstFalseMultiBinding>                        </MultiBinding.Converter>                        <MultiBinding.Bindings>                            <Binding Path="ProcessVlv.Feedback"></Binding>                            <Binding Path="GP3Valve.Feedback"></Binding>                        </MultiBinding.Bindings>                    </MultiBinding>                </control:FlowPipeV2.IsFlowing>            </control:FlowPipeV2>            <control:FlowPipeV2 Width="252" Height="8" Canvas.Left="193" Canvas.Top="376"  >                <control:FlowPipeV2.IsFlowing>                    <MultiBinding>                        <MultiBinding.Converter>                            <converters:FlowConverterFirstFalseMultiBinding></converters:FlowConverterFirstFalseMultiBinding>                        </MultiBinding.Converter>                        <MultiBinding.Bindings>                            <Binding Path="ProcessVlv.Feedback"></Binding>                            <Binding Path="GP4Valve.Feedback"></Binding>                        </MultiBinding.Bindings>                    </MultiBinding>                </control:FlowPipeV2.IsFlowing>            </control:FlowPipeV2>            <control:FlowPipeV2 Width="187" Height="8" Canvas.Left="258" Canvas.Top="376"  >                <control:FlowPipeV2.IsFlowing>                    <MultiBinding>                        <MultiBinding.Converter>                            <converters:FlowConverterFirstFalseMultiBinding></converters:FlowConverterFirstFalseMultiBinding>                        </MultiBinding.Converter>                        <MultiBinding.Bindings>                            <Binding Path="ProcessVlv.Feedback"></Binding>                            <Binding Path="GP5Valve.Feedback"></Binding>                        </MultiBinding.Bindings>                    </MultiBinding>                </control:FlowPipeV2.IsFlowing>            </control:FlowPipeV2>            <control:FlowPipeV2 Width="105" Height="8" Canvas.Left="341" Canvas.Top="376"  >                <control:FlowPipeV2.IsFlowing>                    <MultiBinding>                        <MultiBinding.Converter>                            <converters:FlowConverterFirstFalseMultiBinding></converters:FlowConverterFirstFalseMultiBinding>                        </MultiBinding.Converter>                        <MultiBinding.Bindings>                            <Binding Path="ProcessVlv.Feedback"></Binding>                            <Binding Path="FastVentVlv.Feedback"></Binding>                            <Binding Path="SoftVentVlv.Feedback"></Binding>                        </MultiBinding.Bindings>                    </MultiBinding>                </control:FlowPipeV2.IsFlowing>            </control:FlowPipeV2>            <!--<TextBlock Canvas.Left="62" Canvas.Top="198" Text="N2"></TextBlock>-->            <!--<ctrl:Gasline Orientation="Vertical" Height="166" Canvas.Left="66" Canvas.Top="218"  />-->            <ctrl:GaslineJoint JointType="LEFT_BOTTOM"  Canvas.Left="12" Canvas.Top="376" />            <!--<ctrl:Gasline  Height="8"  Width="5" Canvas.Left="135" Canvas.Top="396" />-->            <!--<deviceControl:AITGasValve Canvas.Left="53" Canvas.Top="302" ValveOpenOrientation="Vertical" DeviceData="{Binding N2PurgeValveData}" EnableServiceControl="True" />-->            <deviceControl:AITGasValve Canvas.Left="405" Canvas.Top="365" ValveOpenOrientation="Horizontal" DeviceData="{Binding ProcessVlv}" EnableServiceControl="{Binding enableServiceControl}" IsAutoMode="{Binding IsAutoMode}"/>            <!--chamber-->            <Canvas Height="550" Width="350" Canvas.Left="445" Canvas.Top="171">                <TextBlock Text="Bias Match" Canvas.Left="284" Canvas.Top="109" Visibility="{Binding Path=IsBiasMatchVisible, Converter={StaticResource bool2VisibilityConvert}}"/>                <deviceControl:AITSensor Canvas.Left="264" Canvas.Top="109"  GreenColor="True" LightOnValue="{Binding IsBiasMatchPowerOn}" Visibility="{Binding Path=IsBiasMatchVisible, Converter={StaticResource bool2VisibilityConvert}}"/>                <TextBlock Text="Bias RF" Canvas.Left="284" Canvas.Top="129" Visibility="{Binding Path=IsBiasRfVisible, Converter={StaticResource bool2VisibilityConvert}}"/>                <deviceControl:AITSensor Canvas.Left="264" Canvas.Top="129"  GreenColor="True" LightOnValue="{Binding IsBiasRfPowerOn}" Visibility="{Binding Path=IsBiasRfVisible, Converter={StaticResource bool2VisibilityConvert}}"/>                <deviceControl:AITRfGenerator DeviceData="{Binding RfBias}" Canvas.Left="250" Canvas.Top="144"  IsAutoMode="{Binding IsAutoMode}" Visibility="{Binding Path=IsBiasRfVisible, Converter={StaticResource bool2VisibilityConvert}}"></deviceControl:AITRfGenerator>                <TextBlock Text="RF" Canvas.Left="280" Canvas.Top="29" />                <deviceControl:AITSensor Canvas.Left="260" Canvas.Top="29"  GreenColor="True" LightOnValue="{Binding IsRfPowerOn}" />                <deviceControl:AITRfGenerator DeviceData="{Binding Rf}" Canvas.Left="250" Canvas.Top="44"  IsAutoMode="{Binding IsAutoMode}"></deviceControl:AITRfGenerator>                                <!--wall temperature-->                <Canvas Visibility="{Binding WallHeaterVisibility}">                    <TextBlock Text="Wall TEMP" Canvas.Left="269" Canvas.Top="179" />                    <deviceControl:AITHeaterControl DeviceData="{Binding WallHeater}" Width="80" Canvas.Left="256" Canvas.Top="194" IsAutoMode="{Binding IsAutoMode}"/>                </Canvas>                <!--substrate heater temperature-->                <TextBlock Text="LE TEMP" Canvas.Left="260" Canvas.Top="227" Visibility="{Binding Path=IsHeaterVisibility, Converter={StaticResource bool2VisibilityConvert}}"/>                <TextBlock Text="Chiller TEMP" Canvas.Left="260" Canvas.Top="227" Visibility="{Binding Path=IsChillerVisibility, Converter={StaticResource bool2VisibilityConvert}}"/>                <deviceControl:AITChillerControl DeviceData="{Binding ChillerData}" Canvas.Left="256" Canvas.Top="242" Width="80" IsAutoMode="{Binding IsAutoMode}" IsEnabled="{Binding IsChillerEnable}" Visibility="{Binding Path=IsChillerVisibility, Converter={StaticResource bool2VisibilityConvert}}"/>                <deviceControl:AITHeaterControl DeviceData="{Binding HeaterChamber}" Canvas.Left="256" Canvas.Top="242" Width="80" IsAutoMode="{Binding IsAutoMode}" IsEnabled="{Binding IsHeaterEnable}" Visibility="{Binding Path=IsHeaterVisibility, Converter={StaticResource bool2VisibilityConvert}}"/>                <!--grid heater temperature-->                <Canvas Visibility="{Binding GridHeaterVisibility}">                    <TextBlock Text="Grid TEMP" Canvas.Left="-10" Canvas.Top="25" />                    <deviceControl:AITHeaterControl DeviceData="{Binding GridHeater}" Width="80" Canvas.Left="-15" Canvas.Top="40" IsAutoMode="{Binding IsAutoMode}"/>                </Canvas>                <!--Foreline teamperature-->                <TextBlock Text="Foreline" Canvas.Left="140" Canvas.Top="444" />                <deviceControl:AITHeaterControl DeviceData="{Binding ForelineHeater}" Canvas.Left="148" Canvas.Top="460" IsAutoMode="{Binding IsAutoMode}"/>                <ctrl:Gasline Orientation="Vertical" Height="20" Width="10" Canvas.Left="20" Canvas.Top="240"/>                <ctrl:Gasline Orientation="Horizontal" Height="8" Canvas.Left="-102" Canvas.Top="250" Width="123"/>                <ctrl:GaslineJoint JointType="LEFT" Width="10" Height="10"  Canvas.Left="20" Canvas.Top="249" />                <!--<ctrl:Gasline Orientation="Horizontal" Height="10" Canvas.Left="-105" Canvas.Top="288" Width="133"/>-->                <!--<ctrl:GaslineJoint JointType="RIGHT_BOTTOM" Width="10" Height="10"  Canvas.Left="20" Canvas.Top="288" />-->                <!--<deviceControl:AITPressureMeter DeviceData="{Binding PressureGauge}"  Height="30"  Width="100" Canvas.Left="-112" Canvas.Top="276" />-->                <deviceControl:AITPressureMeter DeviceData="{Binding ProcessGauge}"  Height="30"  Width="100" Canvas.Left="-112" Canvas.Top="240" />                <TextBlock Text="Process" FontFamily="Arial" TextAlignment="Center" FontSize="14" Foreground="{DynamicResource FG_Black}" Canvas.Left="-170" Canvas.Top="248"/>                <!--<TextBlock Text="腔体压力" FontFamily="Arial" TextAlignment="Center" FontSize="14" Foreground="{DynamicResource FG_Black}" Canvas.Left="-170" Canvas.Top="283"/>-->                <ctrl:Gasline Orientation="Vertical" Height="268" Canvas.Left="208" Canvas.Top="240"/>                <!--<control:FlowPipeV2 Width="274"  Height="7"  IsFlowing="{Binding FastPumpVlv.Feedback}"  Visibility="{Binding Path=FastPumpVlv.Feedback, Converter={StaticResource bool2VisibilityConvert}}"    Canvas.Left="216" Canvas.Top="238" >                    <control:FlowPipeV2.RenderTransform>                        <TransformGroup>                            <ScaleTransform/>                            <SkewTransform/>                            <RotateTransform Angle="90"/>                            <TranslateTransform/>                        </TransformGroup>                    </control:FlowPipeV2.RenderTransform>                </control:FlowPipeV2>-->                <control:FlowPipeV2 Width="275"  Height="8"  IsFlowing="{Binding FastPumpVlv.Feedback}"  Visibility="{Binding Path=FastPumpVlv.Feedback, Converter={StaticResource bool2VisibilityConvert}}"    Canvas.Left="74" Canvas.Top="370" RenderTransformOrigin="0.5,0.5" >                    <control:FlowPipeV2.RenderTransform>                        <TransformGroup>                            <ScaleTransform/>                            <SkewTransform/>                            <RotateTransform Angle="90"/>                            <TranslateTransform/>                        </TransformGroup>                    </control:FlowPipeV2.RenderTransform>                </control:FlowPipeV2>                <deviceControl:AITGasValve Canvas.Left="196" Canvas.Top="360" ValveOpenOrientation="Vertical" DeviceData="{Binding FastPumpVlv}" EnableServiceControl="{Binding enableServiceControl}" IsAutoMode="{Binding IsAutoMode}"/>                <TextBlock Text="Fast" FontFamily="Arial" TextAlignment="Center" FontSize="14" Foreground="{DynamicResource FG_Black}" Canvas.Left="166" Canvas.Top="370"/>                <TextBlock Text="Slow" FontFamily="Arial" TextAlignment="Center" FontSize="14" Foreground="{DynamicResource FG_Black}" Canvas.Left="276" Canvas.Top="370"/>                <Canvas Canvas.Left="-12" Canvas.Top="341" >                    <ctrl:Gasline Orientation="Vertical" Height="143" Canvas.Left="266" Canvas.Top="-69"   />                    <ctrl:Gasline Orientation="Horizontal"   Canvas.Left="228" Width="38" Canvas.Top="-77"    />                    <ctrl:Gasline Orientation="Horizontal"   Canvas.Left="228" Canvas.Top="66" Width="38"    />                    <!--<ctrl:GaslineJoint JointType="RIGHT"  Canvas.Left="220" Canvas.Top="27" />-->                    <ctrl:GaslineJoint JointType="RIGHT_BOTTOM"  Canvas.Left="266" Canvas.Top="66" />                    <ctrl:GaslineJoint JointType="RIGHT_TOP"  Canvas.Left="266" Canvas.Top="-77" />                    <!--<ctrl:GaslineJoint JointType="RIGHT"  Canvas.Left="220" Canvas.Top="-41" />-->                    <control:FlowPipeV2 Width="39"  Height="8"  IsFlowing="{Binding SoftPumpVlv.Feedback}"  Visibility="{Binding Path=SoftPumpVlv.Feedback, Converter={StaticResource bool2VisibilityConvert}}"    Canvas.Left="228" Canvas.Top="-77" />                    <control:FlowPipeV2 Width="30"  Height="8"  IsFlowing="{Binding SoftPumpVlv.Feedback}"  Visibility="{Binding Path=SoftPumpVlv.Feedback, Converter={StaticResource bool2VisibilityConvert}}"    Canvas.Left="209" Canvas.Top="-89" RenderTransformOrigin="0.5,0.5" >                        <control:FlowPipeV2.RenderTransform>                            <TransformGroup>                                <ScaleTransform/>                                <SkewTransform/>                                <RotateTransform Angle="90"/>                                <TranslateTransform/>                            </TransformGroup>                        </control:FlowPipeV2.RenderTransform>                    </control:FlowPipeV2>                    <control:FlowPipeV2 Width="142"  Height="8"  IsFlowing="{Binding SoftPumpVlv.Feedback}"  Visibility="{Binding Path=SoftPumpVlv.Feedback, Converter={StaticResource bool2VisibilityConvert}}"    Canvas.Left="199" Canvas.Top="-9" RenderTransformOrigin="0.5,0.5" >                        <control:FlowPipeV2.RenderTransform>                            <TransformGroup>                                <ScaleTransform/>                                <SkewTransform/>                                <RotateTransform Angle="90"/>                                <TranslateTransform/>                            </TransformGroup>                        </control:FlowPipeV2.RenderTransform>                    </control:FlowPipeV2>                    <control:FlowPipeV2 Width="96"  Height="6"  IsFlowing="{Binding SoftPumpVlv.Feedback}"  Visibility="{Binding Path=SoftPumpVlv.Feedback, Converter={StaticResource bool2VisibilityConvert}}"    Canvas.Left="176" Canvas.Top="112" RenderTransformOrigin="0.5,0.5" >                        <control:FlowPipeV2.RenderTransform>                            <TransformGroup>                                <ScaleTransform/>                                <SkewTransform/>                                <RotateTransform Angle="90"/>                                <TranslateTransform/>                            </TransformGroup>                        </control:FlowPipeV2.RenderTransform>                    </control:FlowPipeV2>                    <control:FlowPipeV2 Width="38"  Height="8"  IsFlowing="{Binding SoftPumpVlv.Feedback}"  Visibility="{Binding Path=SoftPumpVlv.Feedback, Converter={StaticResource bool2VisibilityConvert}}"    Canvas.Left="227" Canvas.Top="66" RenderTransformOrigin="0.5,0.5" >                        <control:FlowPipeV2.RenderTransform>                            <TransformGroup>                                <ScaleTransform/>                                <SkewTransform/>                                <RotateTransform Angle="180"/>                                <TranslateTransform/>                            </TransformGroup>                        </control:FlowPipeV2.RenderTransform>                    </control:FlowPipeV2>                    <deviceControl:AITGasValve Canvas.Left="254" Canvas.Top="20" ValveOpenOrientation="Vertical" DeviceData="{Binding SoftPumpVlv}" EnableServiceControl="{Binding enableServiceControl}" IsAutoMode="{Binding IsAutoMode}"/>                </Canvas>                <ctrl:Gasline Orientation="Horizontal"   Canvas.Left="216" Canvas.Top="468" Width="46"    />                <ctrl:GaslineJoint JointType="RIGHT"  Canvas.Left="208" Canvas.Top="468" />                <TextBlock Text="Foreline" Canvas.Left="250" Canvas.Top="440" />                <deviceControl:AITPressureMeter DeviceData="{Binding ForelineGauge}"  Height="30"  Width="100" Canvas.Left="227" Canvas.Top="456" />                <deviceControl:AITPump Canvas.Top="500" DeviceData="{Binding MainPumpData}" EnableControl="{Binding enableServiceControl}" IsShowSensor="False" Canvas.Left="4" IsAutoMode="{Binding IsAutoMode}"/>                <deviceControl:AITThrottleValve Canvas.Top="288" DeviceData="{Binding Tv}" Canvas.Left="192" IsAutoMode="{Binding IsAutoMode}"></deviceControl:AITThrottleValve>                <Grid Visibility="{Binding EPDVisibility}" Canvas.Left="-245" Canvas.Top="288">                    <Grid.ColumnDefinitions>                        <ColumnDefinition Width="120"/>                        <ColumnDefinition Width="50" />                        <ColumnDefinition Width="120" />                    </Grid.ColumnDefinitions>                    <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="0" Padding="5,1" Height="24">                        <TextBlock Text="EPD Status" TextWrapping="Wrap"  Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" HorizontalAlignment="Center" VerticalAlignment="Center"/>                    </Border>                    <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1"  Grid.Row="0" Grid.Column="1" Padding="5,1">                        <deviceControl:AITSensor Margin="5,0,5,0" GreenColor="True" LightOnValue="{Binding IsEPDConnected}" />                    </Border>                    <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1"  Grid.Row="0" Grid.Column="2" Padding="5,1">                        <TextBlock Text="{Binding EPDStatus}" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" HorizontalAlignment="Center" VerticalAlignment="Center"/>                    </Border>                </Grid>                <!--slit valve-->                <Grid Width="280" HorizontalAlignment="Center" VerticalAlignment="Top" Canvas.Left="-245" Canvas.Top="330">                    <Grid.RowDefinitions>                        <RowDefinition Height="24"/>                        <RowDefinition Height="30"/>                        <RowDefinition />                    </Grid.RowDefinitions>                    <Border  BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="0" Grid.Column="0" Padding="5,1">                        <TextBlock Text="Slit door" TextWrapping="Wrap" TextAlignment="Center" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="黑体" VerticalAlignment="Center"/>                    </Border>                    <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.ColumnSpan="2" Padding="5,1">                        <StackPanel  Orientation="Horizontal" HorizontalAlignment="Center">                            <deviceControl:AITSensor Margin="5,0,5,0" GreenColor="True" LightOnValue="{Binding IsSlitValveOpen}" />                            <Button Content="Open" IsEnabled="{Binding EnableOpenSlitValve}" Width="100" Height="25" Margin="0">                                <i:Interaction.Triggers>                                    <i:EventTrigger EventName="Click">                                        <cal:ActionMessage MethodName="OpenSlitValve"></cal:ActionMessage>                                    </i:EventTrigger>                                </i:Interaction.Triggers>                            </Button>                            <deviceControl:AITSensor Margin="15,0,5,0" GreenColor="True" LightOnValue="{Binding IsSlitValveClose}" />                            <Button Content="Close" IsEnabled="{Binding EnableCloseSlitValve}" Width="100" Height="25" Margin="0">                                <i:Interaction.Triggers>                                    <i:EventTrigger EventName="Click">                                        <cal:ActionMessage MethodName="CloseSlitValve"/>                                    </i:EventTrigger>                                </i:Interaction.Triggers>                            </Button>                        </StackPanel>                    </Border>                </Grid>                <!--chamber-->                <Grid Width="240" Height="190" Canvas.Top="80">                    <Grid.RowDefinitions>                        <RowDefinition Height="160"/>                        <RowDefinition />                    </Grid.RowDefinitions>                    <Path Data="M0.5,0.5 L33.5,0.5 33.5,17.5 206.5,17.5 206.5,0.5 239.5,0.5 239.5,149.5 0.5,149.5 z" Stroke="#FF747474" Margin="0,10,0,0">                        <Path.Fill>                            <LinearGradientBrush EndPoint="1,1" StartPoint="0,0">                                <GradientStop Color="#FF8F8F8F" Offset="0"/>                                <GradientStop Color="#FF9B9B9B" Offset="1"/>                                <GradientStop Color="#FEF1ECEC" Offset="0.15"/>                                <GradientStop Color="#FEC0C0C0" Offset="0.38"/>                                <GradientStop Color="#FEB4B4B4" Offset="0.5"/>                                <GradientStop Color="#FEE5E5E5" Offset="0.7"/>                                <GradientStop Color="#FFBABABA" Offset="0.85"/>                                <GradientStop Color="#FFE5E5E5" Offset="0.9"/>                            </LinearGradientBrush>                        </Path.Fill>                    </Path>                    <Rectangle Stroke="#FF747474" Margin="8,18">                        <Rectangle.Fill>                            <LinearGradientBrush EndPoint="0.243,1" StartPoint="0.757,0">                                <GradientStop Color="#FFE0DEDE" Offset="0"/>                                <GradientStop Color="#FFE2E2E2" Offset="1"/>                                <GradientStop Color="#FEFFFFFF" Offset="0.55"/>                                <GradientStop Color="#FFEFEFEF" Offset="0.75"/>                            </LinearGradientBrush>                        </Rectangle.Fill>                    </Rectangle>                    <Rectangle x:Name="BG_Status" Margin="9,19" Visibility="{Binding BiasRfPowerOnChamberVisibility}">                        <Rectangle.Style>                            <Style>                                <Setter Property="Rectangle.Fill" Value="{DynamicResource Chamber_BD}"/>                                <Style.Triggers>                                    <DataTrigger Binding="{Binding ShowTitle,RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Value="False">                                        <Setter Property="Rectangle.Fill" Value="#FFFF9292"/>                                    </DataTrigger>                                </Style.Triggers>                            </Style>                        </Rectangle.Style>                    </Rectangle>                    <ctrl:Slot ViewType="Front" HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0,4,0,0">                    </ctrl:Slot>                    <Rectangle Stroke="#FF747474" Height="11" VerticalAlignment="Bottom" Margin="12,0,12,8">                        <Rectangle.Fill>                            <LinearGradientBrush EndPoint="0.243,1" StartPoint="0.757,0">                                <GradientStop Color="#FFE0DEDE" Offset="0"/>                                <GradientStop Color="#FFE2E2E2" Offset="1"/>                                <GradientStop Color="#FEFFFFFF" Offset="0.55"/>                                <GradientStop Color="#FFEFEFEF" Offset="0.75"/>                            </LinearGradientBrush>                        </Rectangle.Fill>                    </Rectangle>                    <Grid x:Name="Cover" Width="180" Height="18" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="30,2,0,0" RenderTransformOrigin="1,0.4444">                        <Grid.RenderTransform>                            <TransformGroup>                                <ScaleTransform/>                                <SkewTransform/>                                <RotateTransform/>                                <TranslateTransform/>                            </TransformGroup>                        </Grid.RenderTransform>                        <Grid.Resources>                            <Storyboard x:Key="CoverOpen">                                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[2].(RotateTransform.Angle)">                                    <EasingDoubleKeyFrame KeyTime="0" Value="0"/>                                    <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="45"/>                                </DoubleAnimationUsingKeyFrames>                            </Storyboard>                            <Storyboard x:Key="CoverClose">                                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[2].(RotateTransform.Angle)">                                    <EasingDoubleKeyFrame KeyTime="0" Value="45"/>                                    <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="0"/>                                </DoubleAnimationUsingKeyFrames>                            </Storyboard>                        </Grid.Resources>                        <Grid.Style>                            <Style>                                <Style.Triggers>                                    <DataTrigger Binding="{Binding IsLidOpen}" Value="true">                                        <DataTrigger.EnterActions>                                            <BeginStoryboard Storyboard="{StaticResource CoverOpen}"/>                                        </DataTrigger.EnterActions>                                        <DataTrigger.ExitActions>                                            <BeginStoryboard Storyboard="{StaticResource CoverClose}"/>                                        </DataTrigger.ExitActions>                                    </DataTrigger>                                </Style.Triggers>                            </Style>                        </Grid.Style>                        <Rectangle Grid.Row="0" HorizontalAlignment="Center" VerticalAlignment="Bottom" Fill="{DynamicResource Lid_BG}" Stroke="{DynamicResource Lid_BD}" Width="172" Height="12"/>                        <Rectangle Grid.Row="0" HorizontalAlignment="Center" VerticalAlignment="Top" Fill="{DynamicResource Lid_BG}" Stroke="{DynamicResource Lid_BD}" Width="180" Height="8"/>                        <Line X1="35" Y1="-80" X2="120" Y2="-90" Stroke="#B87333" StrokeThickness="5"/>                        <Line X1="35" Y1="-60" X2="145" Y2="-70" Stroke="#B87333" StrokeThickness="5"/>                        <Line X1="35" Y1="-40" X2="145" Y2="-50" Stroke="#B87333" StrokeThickness="5"/>                        <Line X1="35" Y1="-20" X2="145" Y2="-30" Stroke="#B87333" StrokeThickness="5"/>                        <Rectangle  Stroke="DimGray" Fill="WhiteSmoke"  Margin="130,-101,42,0" Width="8" VerticalAlignment="Top" Height="102" />                        <Rectangle  Stroke="DimGray" Fill="WhiteSmoke" Margin="42,-101,130,0" Width="8" VerticalAlignment="Top" Height="102" />                        <Rectangle  Fill="DimGray" Margin="42,-108,42,0" VerticalAlignment="Top" Height="8" />                        <Rectangle  Fill="White" Margin="50,-101,50,0" Width="80" Height="118" />                        <Rectangle  x:Name="BG_Status1" Fill="{DynamicResource Chamber_BD}" Margin="50,-101,50,0" Width="80" Height="118" Visibility="{Binding RfPowerOnChamberVisibility}" />                        <Rectangle  Stroke="#FF000000" Width="80" Height="10" Margin="0,8,0,0" StrokeThickness="1" StrokeDashArray="4 2" SnapsToDevicePixels="True"/>                        <Rectangle  Stroke="#FF000000" Width="80" Height="9" Margin="0,-10,0,0" StrokeThickness="1" StrokeDashArray="4 2" SnapsToDevicePixels="True"/>                        <Line X1="35" Y1="-40" X2="145" Y2="-30" Stroke="#B87333" StrokeThickness="5"/>                        <Line X1="35" Y1="-60" X2="145" Y2="-50" Stroke="#B87333" StrokeThickness="5"/>                        <Line X1="35" Y1="-80" X2="145" Y2="-70" Stroke="#B87333" StrokeThickness="5"/>                    </Grid>                    <Grid Grid.RowSpan="2" Width="160" Height="167" VerticalAlignment="Bottom" Margin="0,0,0,2">                        <Rectangle Height="12" Stroke="Gray" VerticalAlignment="Top" Width="150" Margin="0,98,0,0">                            <Rectangle.Fill>                                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">                                    <GradientStop Color="#FFABABAB" Offset="0"/>                                    <GradientStop Color="#FFDADADA" Offset="1"/>                                </LinearGradientBrush>                            </Rectangle.Fill>                        </Rectangle>                        <Rectangle Height="12" Margin="0,109,0,0" Stroke="Gray" VerticalAlignment="Top" Width="160">                            <Rectangle.Fill>                                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">                                    <GradientStop Color="#FFABABAB" Offset="0"/>                                    <GradientStop Color="#FFDADADA" Offset="1"/>                                </LinearGradientBrush>                            </Rectangle.Fill>                        </Rectangle>                        <!--4寸 guide pin--><!--                        <Grid x:Name="Bottom_LiftPin" Height="75" VerticalAlignment="Bottom" Margin="0,0,0,0" Visibility="{Binding Path=IsMidPinVisible, Converter={StaticResource bool2VisibilityConvert}}">                            <Grid.Resources>                                <Storyboard x:Key="BottomPinUp">                                    <ThicknessAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)" >                                        <EasingThicknessKeyFrame KeyTime="0" Value="0,0,0,0"/>                                        <EasingThicknessKeyFrame KeyTime="0:0:0.5" Value="0,0,0,15"/>                                    </ThicknessAnimationUsingKeyFrames>                                </Storyboard>                                <Storyboard x:Key="BottomPinDown">                                    <ThicknessAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)" >                                        <EasingThicknessKeyFrame KeyTime="0" Value="0,0,0,15"/>                                        <EasingThicknessKeyFrame KeyTime="0:0:0.5" Value="0,0,0,0"/>                                    </ThicknessAnimationUsingKeyFrames>                                </Storyboard>                            </Grid.Resources>                            <Grid.Style>                                <Style>                                    <Style.Triggers>                                        <DataTrigger  Binding="{Binding IsLowerPinUp}" Value="true">                                            <DataTrigger.EnterActions>                                                <BeginStoryboard Storyboard="{StaticResource BottomPinUp}"/>                                            </DataTrigger.EnterActions>                                            <DataTrigger.ExitActions>                                                <BeginStoryboard Storyboard="{StaticResource BottomPinDown}"/>                                            </DataTrigger.ExitActions>                                        </DataTrigger>                                    </Style.Triggers>                                </Style>                            </Grid.Style>                            <Rectangle HorizontalAlignment="Left" Fill="{DynamicResource Lid_BG1}" Stroke="{DynamicResource Lid_BD}" Width="8" Margin="10,6,0,4"/>                            <Rectangle HorizontalAlignment="Right" Fill="{DynamicResource Lid_BG1}" Stroke="{DynamicResource Lid_BD}" Width="8" Margin="0,6,10,4"/>                            <Rectangle Stroke="{DynamicResource Lid_BD}" Fill="{DynamicResource Lid_BG1}" StrokeThickness="1" VerticalAlignment="Bottom" Height="8" Margin="5,0"/>                        </Grid>-->                        <!--3寸 guide pin-->                        <Grid x:Name="Middle_LiftPin" Width="120" Height="63" VerticalAlignment="Bottom" Margin="0,0,0,12">                            <Grid.Resources>                                <Storyboard x:Key="MidPinUp">                                    <ThicknessAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)" >                                                                                <EasingThicknessKeyFrame KeyTime="0:0:0.5" Value="0,0,0,36"/>                                    </ThicknessAnimationUsingKeyFrames>                                </Storyboard>                                <Storyboard x:Key="MidPinMiddle">                                    <ThicknessAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)" >                                                                                <EasingThicknessKeyFrame KeyTime="0:0:0.5" Value="0,0,0,27"/>                                    </ThicknessAnimationUsingKeyFrames>                                </Storyboard>                                <Storyboard x:Key="MidPinDown">                                    <ThicknessAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)" >                                        <EasingThicknessKeyFrame KeyTime="0:0:0.5" Value="0,0,0,19"/>                                    </ThicknessAnimationUsingKeyFrames>                                </Storyboard>                                <Storyboard x:Key="MidPinHome">                                    <ThicknessAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)" >                                        <EasingThicknessKeyFrame KeyTime="0:0:0.5" Value="0,0,0,12"/>                                    </ThicknessAnimationUsingKeyFrames>                                </Storyboard>                            </Grid.Resources>                            <Grid.Style>                                <Style>                                    <Style.Triggers>                                        <DataTrigger Binding="{Binding PinPosition}" Value="3">                                            <DataTrigger.EnterActions>                                                <BeginStoryboard x:Name="MidPinUp" Storyboard="{StaticResource MidPinUp}"/>                                            </DataTrigger.EnterActions>                                            <DataTrigger.ExitActions>                                                <StopStoryboard BeginStoryboardName="MidPinUp"/>                                            </DataTrigger.ExitActions>                                        </DataTrigger>                                        <DataTrigger Binding="{Binding PinPosition}" Value="2">                                            <DataTrigger.EnterActions>                                                <BeginStoryboard x:Name="MidPinMiddle" Storyboard="{StaticResource MidPinMiddle}"/>                                            </DataTrigger.EnterActions>                                            <DataTrigger.ExitActions>                                                <StopStoryboard BeginStoryboardName="MidPinMiddle"/>                                            </DataTrigger.ExitActions>                                        </DataTrigger>                                        <DataTrigger Binding="{Binding PinPosition}" Value="1">                                            <DataTrigger.EnterActions>                                                <BeginStoryboard x:Name="MidPinDown" Storyboard="{StaticResource MidPinDown}"/>                                            </DataTrigger.EnterActions>                                            <DataTrigger.ExitActions>                                                <StopStoryboard BeginStoryboardName="MidPinDown"/>                                            </DataTrigger.ExitActions>                                        </DataTrigger>                                        <DataTrigger Binding="{Binding PinPosition}" Value="0">                                            <DataTrigger.EnterActions>                                                <BeginStoryboard x:Name="MidPinHome" Storyboard="{StaticResource MidPinHome}"/>                                            </DataTrigger.EnterActions>                                            <DataTrigger.ExitActions>                                                <StopStoryboard BeginStoryboardName="MidPinHome"/>                                            </DataTrigger.ExitActions>                                        </DataTrigger>                                    </Style.Triggers>                                </Style>                            </Grid.Style>                            <Rectangle HorizontalAlignment="Left" Fill="{DynamicResource Lid_BG2}" Stroke="{DynamicResource Lid_BD}" Width="8" Margin="10,6,0,4"/>                            <Rectangle HorizontalAlignment="Right" Fill="{DynamicResource Lid_BG2}" Stroke="{DynamicResource Lid_BD}" Width="8" Margin="0,6,10,4"/>                            <Rectangle Stroke="{DynamicResource Lid_BD}" Fill="{DynamicResource Lid_BG2}" StrokeThickness="1" VerticalAlignment="Bottom" Height="8" Margin="5,0"/>                            <Rectangle Fill="{DynamicResource idleWafer}" HorizontalAlignment="Center" Margin="0,-2,0,0"  Width="{Binding WaferLength}" Height="8" VerticalAlignment="Top"/>                            <!--<parts:Wafer WaferStyle="Rect" WaferItem="{Binding PMWafer}" Station ="{Binding Station}" Slot="0"  Width="130" VerticalAlignment="Top" >                                <parts:Wafer.Style>                                    <Style>                                        <Setter Property="parts:Wafer.Visibility" Value="Collapsed"/>                                        <Style.Triggers>                                            <DataTrigger Binding="{Binding PMWaferType}" Value="Wafer8">                                                <Setter Property="parts:Wafer.Visibility" Value="Visible"/>                                            </DataTrigger>                                        </Style.Triggers>                                    </Style>                                </parts:Wafer.Style>                            </parts:Wafer>-->                            <ctrl:Slot ViewType="Front" x:Name="EFEMLower" DataContext="{Binding UnitData.WaferManager.Wafers[0],RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" WaferStatus="{Binding WaferStatus}" SlotID="{Binding SlotID}" ModuleID="{Binding ModuleID}" SourceName="{Binding SourceName}" HorizontalAlignment="Center" VerticalAlignment="Top" Margin="15,-5,15,0">                                <i:Interaction.Triggers>                                    <i:EventTrigger EventName="SlotMouseButtonDown">                                        <cal:ActionMessage MethodName="OnMouseUp">                                            <cal:Parameter Value="$source" />                                            <cal:Parameter Value="$eventargs" />                                        </cal:ActionMessage>                                    </i:EventTrigger>                                    <i:EventTrigger EventName="WaferTransferStarted">                                        <cal:ActionMessage MethodName="OnWaferTransfer">                                            <cal:Parameter Value="$eventargs" />                                        </cal:ActionMessage>                                    </i:EventTrigger>                                </i:Interaction.Triggers>                            </ctrl:Slot>                        </Grid>                        <!--lift pin-->                        <!--<Grid x:Name="Top_LiftPin" Height="51" VerticalAlignment="Bottom" Margin="0,0,0,28" Visibility="{Binding Path=IsLiftPinVisible, Converter={StaticResource bool2VisibilityConvert}}">                            <Grid.Resources>                                <Storyboard x:Key="TopPinUp">                                    <ThicknessAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)" >                                        <EasingThicknessKeyFrame KeyTime="0" Value="0,0,0,28"/>                                        <EasingThicknessKeyFrame KeyTime="0:0:0.5" Value="0,0,0,54"/>                                    </ThicknessAnimationUsingKeyFrames>                                </Storyboard>                                <Storyboard x:Key="TopPinDown">                                    <ThicknessAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)" >                                        <EasingThicknessKeyFrame KeyTime="0" Value="0,0,0,54"/>                                        <EasingThicknessKeyFrame KeyTime="0:0:0.5" Value="0,0,0,28"/>                                    </ThicknessAnimationUsingKeyFrames>                                </Storyboard>                            </Grid.Resources>                            <Grid.Style>                                <Style>                                    <Style.Triggers>                                        <DataTrigger Binding="{Binding IsLiftPinUp}" Value="true">                                            <DataTrigger.EnterActions>                                                <BeginStoryboard Storyboard="{StaticResource TopPinUp}"/>                                            </DataTrigger.EnterActions>                                            <DataTrigger.ExitActions>                                                <BeginStoryboard Storyboard="{StaticResource TopPinDown}"/>                                            </DataTrigger.ExitActions>                                        </DataTrigger>                                    </Style.Triggers>                                </Style>                            </Grid.Style>                            <Rectangle HorizontalAlignment="Left" Fill="{DynamicResource Lid_BG3}" Stroke="{DynamicResource Lid_BD}" Width="8" Margin="48,10,0,4"/>                            <Rectangle HorizontalAlignment="Right" Fill="{DynamicResource Lid_BG3}" Stroke="{DynamicResource Lid_BD}" Width="8" Margin="0,10,48,4"/>                            <Rectangle Stroke="{DynamicResource Lid_BD}" Fill="{DynamicResource Lid_BG3}" StrokeThickness="1" VerticalAlignment="Bottom" Height="8" Margin="5,0" Width="64" />                            <Rectangle Fill="{DynamicResource idleWafer}" HorizontalAlignment="Center" Margin="-100,0"  Width="{Binding WaferLength}" Height="10" VerticalAlignment="Top"/>                            <TextBlock Text="{Binding WaferSize}" HorizontalAlignment="Center" TextAlignment="Center" Margin="-100,0"  Width="{Binding WaferLength}" Height="15" VerticalAlignment="Top"></TextBlock>                        </Grid>-->                        <!--左边slit door-->                        <Grid x:Name="Slit_valve" Margin="-41,-10,191,29" >                            <Rectangle x:Name="SlitValve_Top" Style="{StaticResource SlitValve_Animation}" Fill="DimGray" Width="8" VerticalAlignment="Top" Height="75"   />                            <Rectangle x:Name="SlitValve_Bottom" Style="{StaticResource SlitValve_Animation}" Fill="DimGray" Width="8" VerticalAlignment="Bottom" Height="75" />                        </Grid>                        <!--slit door右边-->                        <Grid Margin="190,-10,-40,29" >                            <Rectangle  Fill="DimGray" Width="8" VerticalAlignment="Top" Height="75" />                            <Rectangle  Fill="DimGray" Width="8" VerticalAlignment="Bottom" Height="75" />                        </Grid>                    </Grid>                </Grid>            </Canvas>            <!--lift pin / guide pin control grid-->            <Grid Width="280"  Grid.ColumnSpan="3" HorizontalAlignment="Center" VerticalAlignment="Top" Canvas.Left="200" Canvas.Top="585">                <Grid.RowDefinitions>                    <RowDefinition Height="24"/>                    <RowDefinition Height="32"/>                    <RowDefinition Height="{Binding SmallPinHeight}"/>                    <RowDefinition Height="{Binding MediumPinHeight}"/>                    <RowDefinition />                </Grid.RowDefinitions>                <Grid.ColumnDefinitions>                    <ColumnDefinition Width="80"/>                    <ColumnDefinition />                </Grid.ColumnDefinitions>                <Border Grid.ColumnSpan="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="0" Grid.Column="0" Padding="5,1">                    <TextBlock Text="Pin" TextWrapping="Wrap" TextAlignment="Center" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>                </Border>                <!--lift pin button-->                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.ColumnSpan="2" Padding="5,1">                    <StackPanel  Orientation="Horizontal" HorizontalAlignment="Center" >                        <!--lift pin up-->                        <deviceControl:AITSensor Margin="5,0,5,0" GreenColor="True" LightOnValue="{Binding IsLiftPinUp}" />                        <Button Content="Lift Pin Up" IsEnabled="{Binding EnableLiftPinUp}" Width="100" Height="25" Margin="0">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="MoveLiftPinSetState">                                        <cal:Parameter Value="Up"></cal:Parameter>                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                        <!--lift pin down-->                        <deviceControl:AITSensor Margin="15,0,5,0" GreenColor="True" LightOnValue="{Binding IsLiftPinDown}" />                        <Button Content="Lift Pin Down" IsEnabled="{Binding EnableLiftPinDown}" Width="100" Height="25" Margin="0">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="MoveLiftPinSetState">                                        <cal:Parameter Value="Down"></cal:Parameter>                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                    </StackPanel>                </Border>                <!--3' guide pin button-->                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Grid.ColumnSpan="2" Padding="5,1">                    <StackPanel  Orientation="Horizontal" HorizontalAlignment="Center" >                        <deviceControl:AITSensor Margin="5,0,5,0" GreenColor="True" LightOnValue="{Binding IsLiftPinHome}"></deviceControl:AITSensor>                        <Button Content="Home" IsEnabled="{Binding EnableLiftPinHome}" Width="100" Height="25" Margin="0">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="MoveLiftPinHome">                                        <cal:Parameter Value="Home"></cal:Parameter>                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                        <deviceControl:AITSensor Margin="15,0,5,0" GreenColor="True" LightOnValue="{Binding IsLiftPinMiddle}"></deviceControl:AITSensor>                        <Button Content="Lift Pin Middle" IsEnabled="{Binding EnableLiftPinMiddle}" Width="100" Height="25" Margin="0">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="MoveLiftPinSetState">                                        <cal:Parameter Value="Middle"></cal:Parameter>                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                    </StackPanel>                </Border>                            </Grid>            <Grid Width="280"  Grid.ColumnSpan="3" HorizontalAlignment="Center" VerticalAlignment="Top" Canvas.Left="200" Canvas.Top="670">                <Grid.RowDefinitions>                    <RowDefinition Height="24"/>                    <RowDefinition Height="32"/>                    <RowDefinition Height="32"/>                </Grid.RowDefinitions>                <Grid.ColumnDefinitions>                    <ColumnDefinition Width="140"  />                    <ColumnDefinition />                </Grid.ColumnDefinitions>                <Border Grid.ColumnSpan="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="0" Grid.Column="0" Padding="5,1">                    <TextBlock Text="Servo" TextWrapping="Wrap" TextAlignment="Center" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>                </Border>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.ColumnSpan="1" Padding="5,1">                    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" >                    <deviceControl:AITSensor Margin="5,0,5,0" GreenColor="True" LightOnValue="{Binding ManualStopState}"></deviceControl:AITSensor>                        <Button Content="Stop" IsEnabled="{Binding EnableLiftPinManualMove}"  Width="100" Height="25" Margin="0">                        <i:Interaction.Triggers>                            <i:EventTrigger EventName="Click">                                <cal:ActionMessage MethodName="TriStateLiftPinStop">                                </cal:ActionMessage>                            </i:EventTrigger>                        </i:Interaction.Triggers>                    </Button>                    </StackPanel>                                    </Border>                                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="1" Padding="5,1">                                        <StackPanel  Orientation="Horizontal" HorizontalAlignment="Center" >                        <TextBlock Text="Position:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="5,7,0,7" Width="55" ></TextBlock>                        <TextBlock Text="{Binding TriStateLiftPinCurrentValue}" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="5,7,0,7" Width="55" ></TextBlock>                    </StackPanel>                </Border>                 <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Grid.ColumnSpan="2" Padding="5,1">                    <StackPanel  Orientation="Horizontal" HorizontalAlignment="Center" >                        <deviceControl:AITSensor Margin="5,0,5,0" GreenColor="True" LightOnValue="{Binding ManualUpState}"></deviceControl:AITSensor>                        <Button Content="Up" IsEnabled="{Binding EnableLiftPinManualMove}" Width="100" Height="25" Margin="0">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="TriStateLiftPinUp">                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                        <deviceControl:AITSensor Margin="15,0,5,0" GreenColor="True" LightOnValue="{Binding ManualDownState}"></deviceControl:AITSensor>                        <Button Content="Down" IsEnabled="{Binding EnableLiftPinManualMove}" Width="100" Height="25" Margin="0">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="TriStateLiftPinDown">                                    </cal:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                                            </StackPanel>                </Border>            </Grid>        </Canvas>        <!--参数 Grid 那一列-->        <Grid Grid.Column="1">            <Grid.RowDefinitions>                <RowDefinition Height="110"></RowDefinition>                <RowDefinition Height="600"></RowDefinition>            </Grid.RowDefinitions>            <!--选择recipe,开始recipe-->            <Grid Grid.Row="0" VerticalAlignment="Top" Margin="0,10,0,0">                <Grid.RowDefinitions>                    <RowDefinition Height="35"/>                    <RowDefinition Height="Auto"/>                    <RowDefinition Height="35"/>                </Grid.RowDefinitions>                <Grid Grid.Row="0">                    <Grid.ColumnDefinitions>                        <ColumnDefinition Width="140"/>                        <ColumnDefinition />                    </Grid.ColumnDefinitions>                    <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,1,1,1" Background="{DynamicResource Table_BG_Title}" Grid.Row="1" Padding="5,1">                        <Button Content="Choose Recipe" IsEnabled="{Binding IsEnableSelectRecipe}" Width="120" Height="25">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="SelectRecipe"/>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                    </Border>                    <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="1" Padding="5,1">                        <TextBlock Text="{Binding SelectedRecipeName}" VerticalAlignment="Center" />                    </Border>                </Grid>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="1" Padding="5,1">                    <StackPanel Orientation="Horizontal" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,5">                        <Button Content="Start" IsEnabled="{Binding IsEnableStartRecipe}" Width="80" Height="25">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="Start"/>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                        <Button Content="Next Step" IsEnabled="{Binding IsEnableNextStep}" Width="80" Height="25" Margin="30,0">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="NextStep"/>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                        <Button Content="Stop" IsEnabled="{Binding IsEnableStopRecipe}" Width="80" Height="25">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="Stop"/>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                    </StackPanel>                </Border>                <Grid Grid.Row="2" Margin="0,0,0,10" Visibility="Hidden">                    <Grid.ColumnDefinitions>                        <ColumnDefinition Width="120"/>                        <ColumnDefinition />                    </Grid.ColumnDefinitions>                    <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="0" Padding="5,1" Height="24">                        <TextBlock Text="Status" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" HorizontalAlignment="Left" VerticalAlignment="Center"/>                    </Border>                    <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="0" Grid.Column="1" Padding="5,1" Height="24">                        <TextBlock Text="Status" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" HorizontalAlignment="Left" VerticalAlignment="Center"/>                    </Border>                </Grid>            </Grid>            <!--recipe 参数列表-->            <DataGrid Grid.Row="1" AlternationCount="2" HorizontalAlignment="Left" CanUserAddRows="False"                       AutoGenerateColumns="False" RowHeaderWidth="0" CanUserResizeColumns="False" FontSize="14"                      VirtualizingPanel.IsVirtualizing="True" VirtualizingPanel.VirtualizationMode="Recycling"                      ItemsSource="{Binding PMParameters}" Margin="0,5,0,0" Width="452">                <DataGrid.Columns>                    <!--参数名字-->                    <DataGridTemplateColumn Header="Parameter" Width="200">                        <DataGridTemplateColumn.CellTemplate>                            <DataTemplate>                                <TextBlock Text="{Binding Display}" Margin="5,0" FontFamily="Arial" FontSize="14"                                           Foreground="{DynamicResource FG_Black}" HorizontalAlignment="Left" VerticalAlignment="Center" >                                </TextBlock>                            </DataTemplate>                        </DataGridTemplateColumn.CellTemplate>                    </DataGridTemplateColumn>                    <!--参数 Setpoint & Feedback-->                    <DataGridTemplateColumn Header="Parameter" Width="250" CellTemplateSelector="{StaticResource SPSelector}">                        <DataGridTemplateColumn.HeaderTemplate>                            <DataTemplate>                                <Grid>                                    <Grid.ColumnDefinitions>                                        <ColumnDefinition Width="125"></ColumnDefinition>                                        <ColumnDefinition Width="125"></ColumnDefinition>                                    </Grid.ColumnDefinitions>                                    <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,0"  Grid.Row="0" Padding="0">                                        <TextBlock Text="Feedback" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="14" />                                    </Border>                                    <TextBlock Text="Setpoint" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="14" />                                </Grid>                            </DataTemplate>                        </DataGridTemplateColumn.HeaderTemplate>                    </DataGridTemplateColumn>                </DataGrid.Columns>            </DataGrid>        </Grid>        <Grid Grid.Column="2" Grid.RowSpan="2" Margin="10,0,0,0">            <Grid.RowDefinitions>                <RowDefinition Height="30"/>                <RowDefinition Height="Auto"/>                <RowDefinition Height="30"/>                <RowDefinition Height="Auto"/>                <RowDefinition Height="Auto"/>                <RowDefinition />            </Grid.RowDefinitions>            <Border Grid.Row="0" BorderBrush="{DynamicResource Table_BD}" CornerRadius="5,5,0,0" BorderThickness="1" Background="{DynamicResource Table_BG_FirstTitle}" Padding="5,1">                <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center">                    <Path Data="M0,0 L5,0 5,5 z" Fill="White" HorizontalAlignment="Left" Grid.Row="1" RenderTransformOrigin="0.5,0.5" Stretch="Fill" Width="5" Height="5">                        <Path.RenderTransform>                            <TransformGroup>                                <ScaleTransform/>                                <SkewTransform/>                                <RotateTransform Angle="45"/>                                <TranslateTransform/>                            </TransformGroup>                        </Path.RenderTransform>                    </Path>                    <TextBlock Margin="5,0,0,0" Text="Working Mode" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_White}" HorizontalAlignment="Left" VerticalAlignment="Center"/>                </StackPanel>            </Border>            <Border Grid.Row="1" BorderBrush="{DynamicResource Table_BD}" Background="{DynamicResource Table_BG_Content}" BorderThickness="1,0,1,1" Padding="5,1">                <StackPanel Orientation="Vertical">                    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">                        <Button Width="80" Height="25" Margin="10,0" Content="Initialize">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="SetInit"/>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                        <Button Width="80" Height="25" Margin="10,0" Content="Abort">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="AbortPM"/>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                    </StackPanel>                    <Grid Margin="5,5,5,0">                        <Grid.ColumnDefinitions>                            <ColumnDefinition Width="120"/>                            <ColumnDefinition />                        </Grid.ColumnDefinitions>                        <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="0" Padding="5,1" Height="24">                            <TextBlock Text="Operation Mode" TextWrapping="Wrap"  Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" HorizontalAlignment="Center" VerticalAlignment="Center"/>                        </Border>                        <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="0" Grid.Column="1" Padding="5,1">                            <TextBlock Text="{Binding PmOperationMode}" TextWrapping="Wrap"  Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" HorizontalAlignment="Center" VerticalAlignment="Center"/>                        </Border>                    </Grid>                    <StackPanel Margin="0,5,0,10" Orientation="Horizontal" HorizontalAlignment="Center">                        <Button Width="80" Height="25" Margin="10,0" Content="Manual" IsEnabled="{Binding IsManualButtonEnabled}" >                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="SetManual"/>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                        <Button Width="80" Height="25" Margin="10,0" Content="Auto" IsEnabled="{Binding IsAutoButtonEnabled}">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="SetAuto"/>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                    </StackPanel>                    <Grid Margin="5,5,5,0">                        <Grid.ColumnDefinitions>                            <ColumnDefinition Width="120"/>                            <ColumnDefinition />                        </Grid.ColumnDefinitions>                        <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="0" Padding="5,1" Height="24">                            <TextBlock Text="Offline" TextWrapping="Wrap"  Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" HorizontalAlignment="Center" VerticalAlignment="Center"/>                        </Border>                        <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{Binding PMOnlineColor}" Grid.Row="0" Grid.Column="1" Padding="5,1">                            <TextBlock Text="Online" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" HorizontalAlignment="Center" VerticalAlignment="Center"/>                        </Border>                    </Grid>                    <StackPanel Margin="0,5,0,10" Orientation="Horizontal" HorizontalAlignment="Center">                        <Button Width="80" Height="25" Margin="10,0" Content="Offline" IsEnabled="{Binding IsOfflineButtonEnabled}">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="SetOffline"/>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                        <Button Width="80" Height="25" Margin="10,0" Content="Online" IsEnabled="{Binding IsOnlineButtonEnabled}" >                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="SetOnline"/>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                    </StackPanel>                </StackPanel>            </Border>            <Border Grid.Row="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_FirstTitle}" Padding="5,1">                <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center">                    <Path Data="M0,0 L5,0 5,5 z" Fill="White" HorizontalAlignment="Left" Grid.Row="1" RenderTransformOrigin="0.5,0.5" Stretch="Fill" Width="5" Height="5">                        <Path.RenderTransform>                            <TransformGroup>                                <ScaleTransform/>                                <SkewTransform/>                                <RotateTransform Angle="45"/>                                <TranslateTransform/>                            </TransformGroup>                        </Path.RenderTransform>                    </Path>                    <TextBlock Margin="5,0,0,0" Text="Manual Operation" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_White}" HorizontalAlignment="Left" VerticalAlignment="Center"/>                </StackPanel>            </Border>            <Border Grid.Row="3" BorderBrush="{DynamicResource Table_BD}" Background="{DynamicResource Table_BG_Content}" BorderThickness="1,0,1,1" Padding="5,1">                <StackPanel HorizontalAlignment="Center" VerticalAlignment="Top" Margin="5,10">                    <Grid>                        <Grid.ColumnDefinitions>                            <ColumnDefinition Width="140"/>                            <ColumnDefinition Width="100"/>                        </Grid.ColumnDefinitions>                        <Grid.RowDefinitions>                            <RowDefinition Height="24"/>                            <RowDefinition Height="24"/>                            <RowDefinition Height="24"/>                        </Grid.RowDefinitions>                        <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="0" Padding="5,1">                            <TextBlock Text="Chamber (mTorr)" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>                        </Border>                        <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="0" Grid.Column="1" Padding="5,1">                            <ctrl:TextBoxEx Text="{Binding Path=BasePressureSetPoint}" TextSaved="{Binding BasePressureSetPointSaved, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"   EditBoxMode="UnSignDecimal" VerticalAlignment="Center"/>                        </Border>                        <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="1" Padding="5,1">                            <TextBlock Text="Max Pumpdown time(s)" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>                        </Border>                        <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="1" Padding="5,1">                            <ctrl:TextBoxEx Text="{Binding Path=PumpLimitSetPoint}" TextSaved="{Binding PumpLimitSetPointSaved, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" EditBoxMode="UnSignInteger"  VerticalAlignment="Center"/>                        </Border>                        <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Grid.Row="2" Padding="5,1">                            <TextBlock Text="Pumpdown time (s)" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"/>                        </Border>                        <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Grid.Column="1" Padding="5,1">                            <TextBlock Text="{Binding Path=PumpTime}" VerticalAlignment="Center"/>                        </Border>                    </Grid>                    <Grid>                        <Grid.ColumnDefinitions>                            <ColumnDefinition Width="*"/>                            <ColumnDefinition Width="*"/>                        </Grid.ColumnDefinitions>                        <Grid.RowDefinitions>                            <RowDefinition Height="50"/>                        </Grid.RowDefinitions>                        <Button Content="Pumpdown" Width="80" Height="25" Margin="0,10,0,0" IsEnabled="{Binding Path=IsManualMode}" Grid.Column="1"                             Background="{Binding Path=PumpButtonBackground}">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="DoPump"/>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                        <Button Content="Run Pump" Width="85" Height="25" Margin="0,10,0,0" IsEnabled="{Binding Path=IsManualMode}" Grid.Column="0"                             Background="{Binding Path=PumpButtonBackground}">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <cal:ActionMessage MethodName="DoStartPump"/>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                    </Grid>                </StackPanel>            </Border>            <Border Grid.Row="4" BorderBrush="{DynamicResource Table_BD}" Background="{DynamicResource Table_BG_Content}" BorderThickness="1,0,1,1" Padding="5,1">                <StackPanel Margin="0,10">                    <!--流气-->                    <Button Content="Gas Flow" Width="80" Height="25" Margin="0 0 0 10" IsEnabled="{Binding Path=IsManualMode}">                        <i:Interaction.Triggers>                            <i:EventTrigger EventName="Click">                                <cal:ActionMessage MethodName="Gas"/>                            </i:EventTrigger>                        </i:Interaction.Triggers>                    </Button>                    <!--源射频-->                    <Button Content="Start RF" Width="80" Height="25" Margin="0 0 0 10" IsEnabled="{Binding Path=IsRFEnabled}">                        <i:Interaction.Triggers>                            <i:EventTrigger EventName="Click">                                <cal:ActionMessage MethodName="RF"/>                            </i:EventTrigger>                        </i:Interaction.Triggers>                    </Button>                    <!--加热基座-->                    <Button Content="{Binding HeaterButtonContent}" Width="80" Height="0" Margin="0 0 0 0" IsEnabled="{Binding Path=IsHeaterButtonEnable}">                        <i:Interaction.Triggers>                            <i:EventTrigger EventName="Click">                                <cal:ActionMessage MethodName="Heat"/>                            </i:EventTrigger>                        </i:Interaction.Triggers>                    </Button>                    <!--抽气-->                    <Button Content="Purge" Width="80" Height="25" Margin="0 0 0 10" IsEnabled="{Binding Path=IsManualMode}">                        <i:Interaction.Triggers>                            <i:EventTrigger EventName="Click">                                <cal:ActionMessage MethodName="Purge"/>                            </i:EventTrigger>                        </i:Interaction.Triggers>                    </Button>                    <Button Content="检测漏率" Width="80" Height="0" Margin="0 0 0 0" IsEnabled="{Binding Path=IsManualMode}">                        <i:Interaction.Triggers>                            <i:EventTrigger EventName="Click">                                <cal:ActionMessage MethodName="LeakCheck"/>                            </i:EventTrigger>                        </i:Interaction.Triggers>                    </Button>                </StackPanel>            </Border>            <Border Grid.Row="5" BorderBrush="{DynamicResource Table_BD}" CornerRadius="0,0,5,5" Background="{DynamicResource Table_BG_Content}" BorderThickness="1,0,1,1" Padding="5,1">                <Button Content="Vent" Width="80" Height="25" Margin="0,10" VerticalAlignment="Top" IsEnabled="{Binding Path=IsManualMode}">                    <i:Interaction.Triggers>                        <i:EventTrigger EventName="Click">                            <cal:ActionMessage MethodName="Vent"/>                        </i:EventTrigger>                    </i:Interaction.Triggers>                </Button>            </Border>        </Grid>    </Grid></UserControl>
 |