| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406 | <UserControl x:Class="Venus_MainPages.Views.PlatformView"             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"              xmlns:d="http://schemas.microsoft.com/expression/blend/2008"              xmlns:local="clr-namespace:Venus_MainPages.Views"             xmlns:ctrls="clr-namespace:Venus_Themes.UserControls;assembly=Venus_Themes"             xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"             xmlns:converters="clr-namespace:Venus_Themes.Converters;assembly=Venus_Themes"             xmlns:customControls="clr-namespace:Venus_Themes.CustomControls;assembly=Venus_Themes"             mc:Ignorable="d"              xmlns:prism="http://prismlibrary.com/"             prism:ViewModelLocator.AutoWireViewModel="True"             d:DesignHeight="450" d:DesignWidth="1500">    <UserControl.Resources>        <converters:BoolToBool  x:Key="boolToBool"/>        <converters:BoolToColor x:Key="boolToColor"/>        <converters:BoolToColor2 x:Key="boolToColor2"/>        <converters:VisibilityToReverse x:Key="VisibilityToReverse"/>        <converters:ToBoolMultiValueConverter  x:Key="toBoolMultiValueConverter"/>        <converters:ToBoolMultiValueConverter2 x:Key="toBoolMultiValueConverter2"/>        <converters:ToBoolMultiValueConverter3 x:Key="toBoolMultiValueConverter3"/>        <converters:ToBoolMultiValueConverter4 x:Key="toBoolMultiValueConverter4"/>        <converters:BoolToColor5 x:Key="boolToColor5"/>        <converters:BoolToColor4 x:Key="boolToColor4"/>    </UserControl.Resources>    <Canvas>        <Image Canvas.Left="200" Canvas.Top="500"  Width="150" Height="150" Source="Pack://application:,,,/Venus_Themes;Component/Resources/LoadLock.png">        </Image>        <ctrls:WaferCtrl  Canvas.Left="242" Canvas.Top="542"  WaferData="{Binding PMAWafer}"/>        <ctrls:FlowPipe x:Name="N2Pipe1"  Height="8"  Width="120" Canvas.Left="90"  Canvas.Top="120" IsFlowing="{Binding LoadLockVentValveIsOpen,Mode=TwoWay}"/>        <ctrls:FlowPipe  x:Name="purgeFlow2"    Height="8"  Width="142" Canvas.Left="276"  Canvas.Top="220" RotateTransformValue="90"  IsFlowing="{Binding LoadLockPumpValveIsOpen,Mode=TwoWay}"/>        <ctrls:Pump Canvas.Top="360"  Canvas.Left="254" Width="35" Height="35" IsOpen="{Binding PumpIsOpen,Mode=TwoWay}">            <ctrls:Pump.ContextMenu>                <ContextMenu>                    <MenuItem Header="ON"  Command="{Binding OpenPumpCommand}" IsChecked="{Binding PumpIsOpen,Mode=OneWay}" IsEnabled="{Binding PumpIsOpen,Converter={StaticResource boolToBool},Mode=OneWay}"/>                    <MenuItem Header="OFF" Command="{Binding ClosePumpCommand}" IsChecked="{Binding PumpIsOpen,Converter={StaticResource boolToBool},Mode=OneWay}" IsEnabled="{Binding PumpIsOpen,Mode=OneWay}"/>                </ContextMenu>            </ctrls:Pump.ContextMenu>        </ctrls:Pump>        <TextBlock Canvas.Top="310"  Canvas.Left="400" Text="吹扫计数:" FontSize="15"/>        <TextBlock Canvas.Top="310"  Canvas.Left="480" Text="{Binding PurgeCounter}"  FontSize="15"/>        <!--<ctrls:FlowPipeValve  Height="20" Width="24" Canvas.Left="130" Canvas.Top="110" IsOpen="{Binding VentValveIsOpen,Mode=TwoWay}"/>-->        <customControls:CommonValveControl Status="{Binding LoadLockVentValveIsOpen,Mode=TwoWay}"  ValveOrientation="Horizontal" Height="20" Width="20"  Canvas.Left="130" Canvas.Top="113" IsCanEdit="True" Tag="28" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>        <!--<ctrls:FlowPipeValve x:Name="purgevalve"   Height="20" Width="24" Canvas.Left="285.5"  Canvas.Top="310" RotateTransformValue="90" IsOpen="{Binding PumpValveIsOpen,Mode=TwoWay}"/>-->        <customControls:CommonValveControl Status="{Binding LoadLockPumpValveIsOpen,Mode=TwoWay}"  ValveOrientation="Vertical"  Height="20" Width="20"  Canvas.Left="262"  Canvas.Top="270" IsCanEdit="True" Tag="29" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>        <Ellipse Width="20" Height="20" Fill="{Binding RtDataValues[PMA.IsSlitDoorClosed],Converter={StaticResource boolToColor2}}"  Canvas.Left="70" Canvas.Top="302" Stroke="Silver"  StrokeThickness="2"/>        <Button Height="22" Content="   Slit Door Open   " Canvas.Left="100" Canvas.Top="300" Command="{Binding OpenDoorCommand}" Style="{StaticResource SysBtnStyle}" Foreground="White"/>        <Ellipse Width="20" Height="20" Fill="{Binding RtDataValues[PMA.IsSlitDoorClosed],Converter={StaticResource boolToColor}}" Canvas.Left="70" Canvas.Top="342" Stroke="Silver"  StrokeThickness="2"/>        <Button Height="22" Content="   Slit Door Close  " Canvas.Left="100" Canvas.Top="340" Command="{Binding CloseDoorCommand}" Style="{StaticResource SysBtnStyle}" Foreground="White"/>        <!--<ctrls:CustomSwitch   Height="20"  Value="   Slit Door Close  "  Canvas.Left="100" Canvas.Top="340" IsOpen="{Binding LoadLockDoorIsOpen,Mode=TwoWay,Converter={StaticResource boolToBool}}"/>-->        <Border    BorderBrush="Gray"  BorderThickness="0"  Width="180" Height="6" Canvas.Left="330" Canvas.Top="120">            <Border.Background>                <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1">                    <GradientStop Color="Gray" Offset="0"/>                    <GradientStop Color="White"  Offset="0.5"/>                    <GradientStop Color="Gray" Offset="1"/>                </LinearGradientBrush>            </Border.Background>        </Border>        <Border    BorderBrush="Gray"  BorderThickness="0"  Width="40" Height="6" Canvas.Left="275" Canvas.Top="320">            <Border.Background>                <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1">                    <GradientStop Color="Gray" Offset="0"/>                    <GradientStop Color="White"  Offset="0.5"/>                    <GradientStop Color="Gray" Offset="1"/>                </LinearGradientBrush>            </Border.Background>        </Border>        <ctrls:TextboxWithLabel  Canvas.Left="310" Canvas.Top="294" LabelValue="CM3(mTorr)" TextBoxValue="{Binding RtDataValues[PMA.ForelinePressure],StringFormat='F2'}" TextBoxColor="#D7E4BD"/>        <ctrls:TextboxWithLabel  Canvas.Left="500" Canvas.Top="94" LabelValue="CM(mTorr)"   TextBoxValue="{Binding RtDataValues[PMA.LoadlockPressure],StringFormat='F2'}" TextBoxColor="#D7E4BD"/>        <Border    BorderBrush="Gray"  BorderThickness="0"  Width="40" Height="6" Canvas.Left="400" Canvas.Top="124" >            <Border.RenderTransform>                <RotateTransform Angle="90"/>            </Border.RenderTransform>            <Border.Background>                <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1">                    <GradientStop Color="Gray" Offset="0"/>                    <GradientStop Color="White"  Offset="0.5"/>                    <GradientStop Color="Gray" Offset="1"/>                </LinearGradientBrush>            </Border.Background>        </Border>        <Border    BorderBrush="Gray"  BorderThickness="0"  Width="40" Height="6" Canvas.Left="420" Canvas.Top="80" >            <Border.RenderTransform>                <RotateTransform Angle="90"/>            </Border.RenderTransform>            <Border.Background>                <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1">                    <GradientStop Color="Gray" Offset="0"/>                    <GradientStop Color="White"  Offset="0.5"/>                    <GradientStop Color="Gray" Offset="1"/>                </LinearGradientBrush>            </Border.Background>        </Border>        <Ellipse Width="20" Height="20" Canvas.Left="407" Canvas.Top="60"  Fill="{Binding RtDataValues[PMA.IsATMLoadlock],Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="2"></Ellipse>        <Ellipse Width="20" Height="20" Canvas.Left="387" Canvas.Top="160" Fill="{Binding RtDataValues[PMA.IsVACLoadlock],Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="2"></Ellipse>        <TextBlock Text="ATM" Canvas.Left="405" Canvas.Top="40"/>        <TextBlock Text="VAC" Canvas.Left="387" Canvas.Top="185"/>        <TextBlock Text="N2" Canvas.Left="30" Canvas.Top="116"/>        <Image  Canvas.Left="50"  Canvas.Top="110"  Width="40" Height="25"  Source="Pack://application:,,,/Venus_Themes;Component/Resources/Arrow.png" Stretch="Uniform" />        <Image Canvas.Left="200" Canvas.Top="100" Width="141" Height="141" Source="Pack://application:,,,/Venus_Themes;Component/Resources/LoadLock.png"/>        <ctrls:WaferCtrl Canvas.Left="238" Canvas.Top="140"  WaferData="{Binding LLAWafer}"/>        <Grid Canvas.Left="600" Canvas.Top="120" >            <Grid.RowDefinitions>                <RowDefinition Height="30"/>                <RowDefinition Height="Auto"/>                <RowDefinition />            </Grid.RowDefinitions>                               <Border  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="LoadLock Manual Operation" 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 Margin="10,10,10,0" Orientation="Horizontal" HorizontalAlignment="Center">                    <StackPanel Margin="10,0,10,0"  Orientation="Vertical">                        <!--<Button Content="初始化" Width="80" Height="25" Margin="0 0 0 10" IsEnabled="{Binding Path=IsManualMode}" Command="{Binding LLInitCommnad}">                        </Button>-->                        <!--放片-->                        <Button Content="抽气" Width="80" Height="25" Margin="0 0 0 10" IsEnabled="{Binding Path=IsManualMode}" Command="{Binding PumpCommand}">                        </Button>                        <!--检测漏率-->                        <Button Content="充气" Width="80" Height="25" Margin="0 0 0 10" IsEnabled="{Binding Path=IsManualMode}" Command="{Binding VentCommand}">                        </Button>                    </StackPanel>                    <StackPanel Margin="10,0,10,0"  Orientation="Vertical">                        <!--充气-->                        <Button Content="循环吹扫" Width="80" Height="25" Margin="0 0 0 10" VerticalAlignment="Top" IsEnabled="{Binding Path=IsManualMode}" Command="{Binding PurgeCommand}">                        </Button>                    </StackPanel>                    <StackPanel Margin="10,0,10,0"  Orientation="Vertical">                        <!--充气-->                        <Button Content="放片" Width="80" Height="25" Margin="0 0 0 10"   Command="{Binding PlaceWaferCommand}"/>                        <!--取片-->                        <Button Content="取片" Width="80" Height="25" Margin="0 0 0 10"   Command="{Binding MoveWaferCommand}"/>                    </StackPanel>                </StackPanel>            </Border>        </Grid>                <Canvas Canvas.Right="1900" Canvas.Top="-50">                       <!--与chamber右上角连接的管道-->            <ctrls:FlowPipe  Height="8"  Width="40" Canvas.Left="1262" Canvas.Top="275"  RotateTransformValue="90" />            <ctrls:FlowPipe  Height="8"  Width="126" Canvas.Left="1250" Canvas.Top="192"  RotateTransformValue="90" />            <ctrls:Pipe2     Canvas.Left="1254" Canvas.Top="285" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" />            <ctrls:FlowPipe  Height="8"  Width="80" Canvas.Left="1252" Canvas.Top="182"   />            <ctrls:FlowPipe  Height="8"  Width="70" Canvas.Left="1264" Canvas.Top="272"   />            <TextBlock Text="Guage" Canvas.Left="1272" Canvas.Top="248"/>            <customControls:CommonValveControl   ValveOrientation="Horizontal" Status="{Binding GuageValveIsOpen,Mode=TwoWay}" Height="20" Width="20" Canvas.Left="1280" Canvas.Top="265" IsCanEdit="True" Tag="27" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>            <Border    BorderBrush="Gray"  BorderThickness="0"  Width="18" Height="6" Canvas.Left="1315" Canvas.Top="164" >                <Border.RenderTransform>                    <RotateTransform Angle="90"/>                </Border.RenderTransform>                <Border.Background>                    <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1">                        <GradientStop Color="Gray" Offset="0"/>                        <GradientStop Color="White"  Offset="0.5"/>                        <GradientStop Color="Gray" Offset="1"/>                    </LinearGradientBrush>                </Border.Background>            </Border>            <Border    BorderBrush="Gray"  BorderThickness="0"  Width="20" Height="6" Canvas.Left="1285" Canvas.Top="188" >                <Border.RenderTransform>                    <RotateTransform Angle="90"/>                </Border.RenderTransform>                <Border.Background>                    <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1">                        <GradientStop Color="Gray" Offset="0"/>                        <GradientStop Color="White"  Offset="0.5"/>                        <GradientStop Color="Gray" Offset="1"/>                    </LinearGradientBrush>                </Border.Background>            </Border>            <Ellipse Width="20" Height="20"  Canvas.Left="1302" Canvas.Top="150" Fill="{Binding RtDataValues[PMA.IsATM],Converter={StaticResource boolToColor}}"  Stroke="Silver" StrokeThickness="2"></Ellipse>            <Ellipse Width="20" Height="20"  Canvas.Left="1272" Canvas.Top="200" Fill="{Binding RtDataValues[PMA.IsVAC],Converter={StaticResource boolToColor}}"  Stroke="Silver" StrokeThickness="2"></Ellipse>            <TextBlock Text="ATM" Canvas.Left="1300" Canvas.Top="134"/>            <TextBlock Text="VAC" Canvas.Left="1270" Canvas.Top="220"/>            <ctrls:Pipe2     Canvas.Left="1242" Canvas.Top="195" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" />            <!--与chamber底部连接的管道-->            <ctrls:FlowPipe   Height="8"  Width="193" Canvas.Left="860"  Canvas.Top="658" IsFlowing="{Binding PVHe1ValveIsOpen}"/>            <ctrls:FlowPipe   Height="8"  Width="198" Canvas.Left="1055"  Canvas.Top="463" RotateTransformValue="90"  IsReverse="{Binding PVHe1ValveIsOpen}">                <ctrls:FlowPipe.IsFlowing>                    <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">                        <Binding Path="PVHe1ValveIsOpen"/>                        <Binding Path="PVHe2ValveIsOpen"/>                    </MultiBinding>                </ctrls:FlowPipe.IsFlowing>            </ctrls:FlowPipe>                        <ctrls:FlowPipe   Height="8"  Width="90" Canvas.Left="1050"  Canvas.Top="610"/>            <ctrls:FlowPipe   Height="8"  Width="65" Canvas.Left="1146"  Canvas.Top="615" RotateTransformValue="90"/>            <ctrls:FlowPipe   Height="8"  Width="56" Canvas.Left="1055"  Canvas.Top="610" RotateTransformValue="90"/>            <ctrls:Pipe2    Canvas.Left="1133"  Canvas.Top="610" HorizontalAlignment="Left" VerticalAlignment="Top"  />            <customControls:CommonValveControl   ValveOrientation="Horizontal" Height="20" Width="20"  Canvas.Top="604" Canvas.Left="1074" Status="{Binding PVHe3ValveIsOpen,Mode=TwoWay}" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="20" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>            <ctrls:ZhenValve Width="34" Height="34" Canvas.Top="585.6" Canvas.Left="1100"/>            <TextBlock Text="VHe3" Canvas.Top="588" Canvas.Left="1068"/>                        <ctrls:FlowPipe   Height="8"  Width="17"  Canvas.Left="1055"  Canvas.Top="659" RotateTransformValue="90" IsFlowing="{Binding PVHe2ValveIsOpen}"/>            <ctrls:FlowPipe   Height="8"  Width="208" Canvas.Left="1057"  Canvas.Top="680" IsFlowing="{Binding PVHe2ValveIsOpen}"/>            <ctrls:FlowPipe   Height="8"  Width="20" Canvas.Left="1266"  Canvas.Top="682" RotateTransformValue="90">                <ctrls:FlowPipe.IsFlowing>                    <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">                        <Binding Path="SoftPumpValveIsOpen"/>                        <Binding Path="FastPumpValveIsOpen"/>                        <Binding Path="TurboPumpPumpingValveIsOpen"/>                        <Binding Path="PVHe2ValveIsOpen"/>                    </MultiBinding>                </ctrls:FlowPipe.IsFlowing>            </ctrls:FlowPipe>            <ctrls:FlowPipe   Height="8"  Width="40" Canvas.Left="1265"  Canvas.Top="658" />            <ctrls:FlowPipe   Height="8"  Width="178" Canvas.Left="1266"  Canvas.Top="464" RotateTransformValue="90" IsFlowing="{Binding TurboPumpPumpingValveIsOpen}">            </ctrls:FlowPipe>            <ctrls:FlowPipe   Height="8"  Width="45" Canvas.Left="1266"  Canvas.Top="638" RotateTransformValue="90" >                <ctrls:FlowPipe.IsFlowing>                    <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">                        <Binding Path="SoftPumpValveIsOpen"/>                        <Binding Path="FastPumpValveIsOpen"/>                        <Binding Path="TurboPumpPumpingValveIsOpen"/>                    </MultiBinding>                </ctrls:FlowPipe.IsFlowing>            </ctrls:FlowPipe>            <ctrls:Pipe2    Canvas.Left="1060"  Canvas.Top="687.8" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" />            <ctrls:FlowPipe   Height="8"  Width="46" Canvas.Left="1213"  Canvas.Top="635"  >                <ctrls:FlowPipe.IsFlowing>                    <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">                        <Binding Path="SoftPumpValveIsOpen"/>                        <Binding Path="FastPumpValveIsOpen"/>                    </MultiBinding>                </ctrls:FlowPipe.IsFlowing>            </ctrls:FlowPipe>            <ctrls:FlowPipe   Height="8"  Width="52" Canvas.Left="1165"  Canvas.Top="635" IsFlowing="{Binding SoftPumpValveIsOpen}" />            <ctrls:FlowPipe  Height="8"  Width="125" Canvas.Left="1219"  Canvas.Top="512" RotateTransformValue="90" IsFlowing="{Binding FastPumpValveIsOpen}"/>            <ctrls:FlowPipe  Height="8"  Width="119" Canvas.Left="1168"  Canvas.Top="517" RotateTransformValue="90" IsFlowing="{Binding SoftPumpValveIsOpen}"/>            <ctrls:Pipe2    Canvas.Left="1173"  Canvas.Top="643" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" />            <ctrls:FlowPipe   Height="8"  Width="48" Canvas.Left="1165"  Canvas.Top="512" HorizontalAlignment="Left" VerticalAlignment="Center" IsReverse="True" IsFlowing="{Binding SoftPumpValveIsOpen}"  />            <ctrls:FlowPipe   Height="8"  Width="50" Canvas.Left="1219"  Canvas.Top="463" RotateTransformValue="90">                <ctrls:FlowPipe.IsFlowing>                    <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">                        <Binding Path="SoftPumpValveIsOpen"/>                        <Binding Path="FastPumpValveIsOpen"/>                    </MultiBinding>                </ctrls:FlowPipe.IsFlowing>            </ctrls:FlowPipe>            <ctrls:Pipe2    Canvas.Left="1160"  Canvas.Top="525" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" />            <TextBlock Canvas.Left="1130"  Canvas.Top="558" Text="Soft"/>            <TextBlock Canvas.Left="1178"  Canvas.Top="558" Text="Fast"/>            <ctrls:FlowPipe  Height="8"  Width="194" Canvas.Left="1246"  Canvas.Top="535" IsReverse="True" IsFlowing="{Binding TurboPumpPurgeValveIsOpen,Mode=TwoWay}" >            </ctrls:FlowPipe>            <ctrls:FlowPipe  ToolTip="123"   Height="8"  Width="142" Canvas.Left="1448"  Canvas.Top="542" RotateTransformValue="90" IsReverse="True" IsFlowing="{Binding TurboPumpPurgeValveIsOpen}"/>            <ctrls:Pipe2    Canvas.Left="1435"  Canvas.Top="535" HorizontalAlignment="Left" VerticalAlignment="Top"  />                        <customControls:CommonValveControl Status="{Binding TurboPumpPurgeValveIsOpen,Mode=TwoWay}"  ValveOrientation="Vertical"  Height="20" Width="20"  Canvas.Left="1434"  Canvas.Top="610" IsCanEdit="True" Tag="26" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>            <TextBlock Text="Turbo N2
   Purge" Canvas.Left="1365"  Canvas.Top="610" FontSize="15"/>            <TextBlock Text="VHe1" Canvas.Top="636" Canvas.Left="985"/>            <customControls:CommonValveControl   ValveOrientation="Horizontal" Height="20" Width="20"   Canvas.Top="652" Canvas.Left="990" IsCanEdit="True" Status="{Binding PVHe1ValveIsOpen,Mode=TwoWay}" Tag="19" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>            <TextBlock Text="VHe2" Canvas.Top="658" Canvas.Left="1068"/>            <customControls:CommonValveControl   ValveOrientation="Horizontal" Height="20" Width="20"  Canvas.Top="674" Canvas.Left="1074" Status="{Binding PVHe2ValveIsOpen,Mode=TwoWay}" IsCanEdit="True" Tag="20" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>            <customControls:CommonValveControl Status="{Binding SoftPumpValveIsOpen,Mode=TwoWay}"  ValveOrientation="Vertical"  Height="20" Width="20"  Canvas.Top="555" Canvas.Left="1154" IsCanEdit="True" Tag="22" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>            <customControls:CommonValveControl Status="{Binding FastPumpValveIsOpen,Mode=TwoWay}"  ValveOrientation="Vertical"  Height="20" Width="20" Canvas.Top="555" Canvas.Left="1205"  IsCanEdit="True" Tag="23" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>            <customControls:CommonValveControl  ValveOrientation="Vertical"  Height="20" Width="20"  Canvas.Top="596" Canvas.Left="1252" Status="{Binding TurboPumpPumpingValveIsOpen,Mode=TwoWay}" IsCanEdit="True" Tag="25" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>            <customControls:CommonValveControl  ValveOrientation="Vertical"  Height="20" Width="20"  Canvas.Top="490" Canvas.Left="1041" Status="{Binding TurboPumpPumpingValveIsOpen,Mode=TwoWay}" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="25" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>            <TextBlock Text=" He
ISO" Canvas.Top="482" Canvas.Left="1068"/>            <!--turbo-->            <ctrls:Turbo Width="40" Height="40"  Canvas.Top="521" Canvas.Left="1242" IsOpen="{Binding TurboIsOpen}">                <ctrls:Turbo.ContextMenu>                    <ContextMenu>                        <MenuItem Header="ON" Command="{Binding OpenTurboPumpCommand}" IsChecked="{Binding TurboIsOpen,Mode=OneWay}" IsEnabled="{Binding TurboIsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}"/>                        <MenuItem Header="OFF" Command="{Binding CloseTurboPumpCommand}" IsChecked="{Binding TurboIsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}" IsEnabled="{Binding TurboIsOpen,Mode=OneWay}"/>                    </ContextMenu>                </ctrls:Turbo.ContextMenu>            </ctrls:Turbo>                <!--蝶阀-->            <ctrls:ButterflyValve Canvas.Top="475" Canvas.Left="1245" RotateTransformValue="{Binding PositionValue}" IsOpen="{Binding PendulumValveData.IsOpen,Mode=TwoWay}">                <i:Interaction.Triggers>                    <i:EventTrigger EventName="MouseLeftButtonUp">                        <i:InvokeCommandAction Command="{Binding OpenButterflyValveViewCommand}"/>                    </i:EventTrigger>                </i:Interaction.Triggers>                <ctrls:ButterflyValve.ContextMenu>                    <ContextMenu>                        <MenuItem Header="Open"  Command="{Binding OpenPendulumValveCommand}"  IsChecked="{Binding PendulumValveData.IsOpen,Mode=OneWay}"                                        IsEnabled="{Binding PendulumValveData.IsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}"/>                        <MenuItem Header="Close" Command="{Binding ClosePendulumValveCommand}" IsChecked="{Binding PendulumValveData.IsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}"  IsEnabled="{Binding PendulumValveData.IsOpen,Mode=OneWay}"/>                    </ContextMenu>                </ctrls:ButterflyValve.ContextMenu>            </ctrls:ButterflyValve>            <Image Canvas.Top="715" Canvas.Left="1425"  Width="40" Height="25"  Source="Pack://application:,,,/Venus_Themes;Component/Resources/Arrow.png" Stretch="Uniform">                <Image.RenderTransform>                    <RotateTransform Angle="-90"/>                </Image.RenderTransform>            </Image>            <TextBlock Text="N2" Canvas.Top="720" Canvas.Left="1438"/>            <Image  Canvas.Top="650" Canvas.Left="815"  Width="40" Height="25"  Source="Pack://application:,,,/Venus_Themes;Component/Resources/Arrow.png" Stretch="Uniform" >            </Image>            <TextBlock Text="Helium" Canvas.Top="653" Canvas.Left="770" FontSize="15"/>            <!--chamber管道标签-->            <ctrls:TextboxWithLabel  Canvas.Top="156" Canvas.Left="1326" LabelValue="CM2(mTorr)" TextBoxValue="{Binding ProcessHighPressure,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>            <ctrls:TextboxWithLabel  Canvas.Top="248" Canvas.Left="1318" LabelValue="CM1(mTorr)" TextBoxValue="{Binding ProcessLowPressure,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>                       <!--<Ellipse Width="20" Height="20"  Canvas.Top="651.5" Canvas.Left="775" Fill="{Binding MFCHeData.IsWarning,Converter={StaticResource boolToColor4}}"  Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse>-->            <ctrls:TextboxWithLabel  Canvas.Top="633" Canvas.Left="1280" LabelValue="CM3(mTorr)" TextBoxValue="{Binding  ForelinePressure,StringFormat='F1'}" TextBoxColor="#D7E4BD" />            <ctrls:TextboxWithLabel  Canvas.Top="464" Canvas.Left="1290" LabelValue="Position(‰)" TextBoxValue="{Binding RtDataValues[PMA.GetPVPosition],StringFormat='F0'}" TextBoxColor="#D7E4BD" />            <ctrls:TextboxWithLabel  Canvas.Top="510" Canvas.Left="1330" LabelValue="Flow(sccm)" TextBoxValue="{Binding MFCN2Data.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD" />            <!--<ctrls:TextboxWithLabel  Canvas.Top="510" Canvas.Left="1367" TextBoxValue="{Binding N2SetPoint,Mode=TwoWay}" IsReadOnly="False"  LabelValue="Turbo N2" ToolTip="{Binding MFCN2Data.SetPoint,StringFormat='F1'}" TextBoxColor="White" />-->            <!--<ctrls:TextboxWithLabel  Canvas.Top="556" Canvas.Left="952" LabelValue="Pressure(mTorr)" TextBoxValue="{Binding ESCHePressure,StringFormat='F1'}"  TextBoxColor="#D7E4BD"/>            <Border    BorderBrush="Gray"  BorderThickness="0"  Width="15" Height="6" Canvas.Top="581" Canvas.Left="1033">                <Border.Background>                    <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1">                        <GradientStop Color="Gray" Offset="0"/>                        <GradientStop Color="White"  Offset="0.5"/>                        <GradientStop Color="Gray" Offset="1"/>                    </LinearGradientBrush>                </Border.Background>            </Border>-->            <!--<ctrls:TextboxWithLabel  Canvas.Top="506" Canvas.Left="964" LabelValue="Flow(sccm)" TextBoxValue="{Binding MFCHeData.FeedBack,StringFormat='F1'}"  TextBoxColor="#D7E4BD"/>            <Border    BorderBrush="Gray"  BorderThickness="0"  Width="15" Height="6" Canvas.Top="531" Canvas.Left="1033">                <Border.Background>                    <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1">                        <GradientStop Color="Gray" Offset="0"/>                        <GradientStop Color="White"  Offset="0.5"/>                        <GradientStop Color="Gray" Offset="1"/>                    </LinearGradientBrush>                </Border.Background>            </Border>-->            <ctrls:TextboxWithLabel  Canvas.Top="550" Canvas.Left="1280" LabelValue="Speed(rpm)" TextBoxValue="{Binding TurboPumpRotationalSpeed}" TextBoxColor="#D7E4BD" />            <TextBlock Canvas.Top="600" Canvas.Left="1280" Text="ISO"/>                      <!--Chamber-->            <ctrls:Chamber Canvas.Left="1034" Canvas.Top="224"                        IsLiftPinUp="{Binding LiftPinIsUp}"                        IsOpenSlitDoor="{Binding IsSlitDoorClosed,Converter={StaticResource BoolToBool}}"                        IsLidOpen="{Binding IsLidClosed,Converter={StaticResource BoolToBool}}"                         IsBRFOn="{Binding BRFData.IsRfOn}"                       IsSRFOn="{Binding SRFData.IsRfOn}"                       IsHasWafer="{Binding IsHasWafer}"                        />            <ctrls:Pump Canvas.Top="700"  Canvas.Left="1244" Width="35" Height="35" IsOpen="{Binding PumpIsOpen,Mode=TwoWay}"/>            <TextBlock Text="Rough Pump" Canvas.Top="734"  Canvas.Left="1220" FontSize="15"/>        </Canvas>    </Canvas></UserControl>
 |