<UserControl x:Class="Venus_MainPages.Views.OverKepler2200BView" 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" mc:Ignorable="d" xmlns:prism="http://prismlibrary.com/" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" prism:ViewModelLocator.AutoWireViewModel="True" xmlns:unity="clr-namespace:Venus_MainPages.Unity" xmlns:ctrls="clr-namespace:Venus_Themes.UserControls;assembly=Venus_Themes" xmlns:customControls="clr-namespace:Venus_Themes.CustomControls;assembly=Venus_Themes" xmlns:userControls="clr-namespace:Venus_Themes.UserControls;assembly=Venus_Themes" xmlns:converters="clr-namespace:Venus_Themes.Converters;assembly=Venus_Themes" xmlns:attach="clr-namespace:Venus_UI.Themes.Attach;assembly=Venus_Themes" xmlns:converters2="clr-namespace:Venus_MainPages.Converters" d:DesignHeight="1450" Width="1900" > <UserControl.Resources> <LinearGradientBrush x:Key="buttonBrush" StartPoint="0.5,0" EndPoint="0.5,1"> <GradientStop Color="White" Offset="0.0" /> <GradientStop Color="Gray" Offset="0.1" /> <GradientStop Color="White" Offset="1" /> </LinearGradientBrush> <converters:ToBoolMultiValueConverter x:Key="toBoolMultiValueConverter"/> <converters:ToBoolMultiValueConverter2 x:Key="toBoolMultiValueConverter2"/> <converters:ToBoolMultiValueConverter3 x:Key="toBoolMultiValueConverter3"/> <converters:ToBoolMultiValueConverter4 x:Key="toBoolMultiValueConverter4"/> <converters:ToBoolMultiValueConverter5 x:Key="toBoolMultiValueConverter5"/> <converters:BoolToColor x:Key="boolToColor"/> <converters:BoolToColor2 x:Key="boolToColor2"/> <converters:BoolToColor3 x:Key="boolToColor3"/> <converters:BoolToColor4 x:Key="boolToColor4"/> <converters:BoolToColor5 x:Key="boolToColor5"/> <converters:BoolToBool x:Key="BoolToBool"/> <converters2:HeaterToStringConverter x:Key="HeaterToStringConverter"/> <converters:BoolToVisibility2 x:Key="BoolToVisibility2"/> </UserControl.Resources> <Canvas> <Grid Canvas.Left="50" Canvas.Top="62"> <Grid.RowDefinitions> <RowDefinition/> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> </Grid.ColumnDefinitions> <TextBlock Text="RF Match Interlock" Margin="5,0,5,0" Grid.Column="0" FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" /> <Ellipse Grid.Column="1" Width="16" Height="16" Fill="{Binding SourceRFMatchInterlock,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2"></Ellipse> <TextBlock Text="Wafer Leak" Margin="15,0,5,0" Grid.Column="2" FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" /> <Ellipse Grid.Column="3" Width="16" Height="16" Fill="{Binding IsWLK,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2"></Ellipse> <TextBlock Text="Wafer Flow" Margin="15,0,5,0" Grid.Column="4" FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" /> <Ellipse Grid.Column="5" Width="16" Height="16" Fill="{Binding IsWaterFlowOk,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2"></Ellipse> <TextBlock Text="TurboPump InterLock" Margin="15,0,5,0" Grid.Column="6" FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" /> <Ellipse Grid.Column="7" Width="16" Height="16" Fill="{Binding IsTurboPumpInterlock,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2"></Ellipse> <TextBlock Text="CDA" Margin="15,0,5,0" Grid.Column="8" FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" /> <Ellipse Grid.Column="9" Width="16" Height="16" Fill="{Binding IsCDAOK,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ></Ellipse> <TextBlock Text="Gas Box Door" Margin="15,0,5,0" Grid.Column="10" FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" /> <Ellipse Grid.Column="11" Width="16" Height="16" Fill="{Binding SensorGasBoxDoor,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2"></Ellipse> <TextBlock Text="Gas Box Pressure" Margin="15,0,5,0" Grid.Column="12" FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" /> <Ellipse Grid.Column="13" Width="16" Height="16" Fill="{Binding SensorGasBoxPressure,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2"></Ellipse> <TextBlock Text="TurboPump AtSpeed" Margin="15,0,5,0" Grid.Column="14" FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" /> <Ellipse Grid.Column="15" Width="16" Height="16" Fill="{Binding IsTurboPumpAtSpeed,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2"></Ellipse> <!--<TextBlock Text="分子泵冷却水信号" Margin="15,0,5,0" Grid.Column="16" FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" /> <Ellipse Grid.Column="17" Width="16" Height="16" Fill="{Binding TurboPumpWaterFlowSwitch,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2"></Ellipse>--> </Grid> <!--</Border>--> <Canvas Canvas.Top="40" > <ctrls:Pipe2 Canvas.Left="489.8" Canvas.Top="502" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="90" /> <!--N2--> <ctrls:FlowPipe Name="N2Pipe2" Height="8" Width="230" Canvas.Left="255" Canvas.Top="120"> <ctrls:FlowPipe.IsFlowing> <MultiBinding Converter="{StaticResource toBoolMultiValueConverter}"> <Binding Path="PVN22ValveIsOpen"/> <Binding Path="N2ValveIsOpen"/> </MultiBinding> </ctrls:FlowPipe.IsFlowing> </ctrls:FlowPipe> <TextBlock Text="N2" Canvas.Left="440" Canvas.Top="90"/> <customControls:CommonValveControl Status="{Binding N2ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="436" Canvas.Top="114" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="10" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/> <ctrls:FlowPipe x:Name="N2Pipe1" Height="8" Width="193" Canvas.Left="64" Canvas.Top="120"> <ctrls:FlowPipe.IsFlowing> <MultiBinding Converter="{StaticResource toBoolMultiValueConverter}"> <Binding Path="PVN22ValveIsOpen"/> <Binding Path="N2ValveIsOpen"/> </MultiBinding> </ctrls:FlowPipe.IsFlowing> </ctrls:FlowPipe> <TextBlock Text="VN22" Canvas.Left="280" Canvas.Top="90"/> <customControls:CommonValveControl Status="{Binding PVN22ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="288" Canvas.Top="114" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="1" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/> <ctrls:FlowPipe Height="8" Width="308" Canvas.Left="176" Canvas.Top="230" IsFlowing="{Binding MFC1ValveIsOpen}"/> <TextBlock Text="V1" Canvas.Left="438" Canvas.Top="208"/> <customControls:CommonValveControl Status="{Binding MFC1ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="436" Canvas.Top="224" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="11" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/> <ctrls:FlowPipe Height="8" Width="114" Canvas.Left="64" Canvas.Top="230" IsFlowing="{Binding PV11ValveIsOpen}"/> <ctrls:FlowPipe Height="8" Width="80" Canvas.Left="177" Canvas.Top="266" IsFlowing="{Binding PV12ValveIsOpen}"/> <!--<ctrls:Pipe2 Canvas.Left="214" Canvas.Top="274" RotateTransformValue="-180"/>--> <ctrls:FlowPipe Height="8" Width="30" Canvas.Left="178" Canvas.Top="236" RotateTransformValue="90" IsFlowing="{Binding PV12ValveIsOpen}"/> <ctrls:Pipe2 Canvas.Left="183" Canvas.Top="274" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" /> <ctrls:FlowPipe Height="8" Width="145" Canvas.Left="257" Canvas.Top="126" RotateTransformValue="90" IsReverse="True"> <ctrls:FlowPipe.IsFlowing> <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}"> <Binding Path="PV12ValveIsOpen"/> <Binding Path="PV22ValveIsOpen"/> <Binding Path="PV32ValveIsOpen"/> <Binding Path="PV42ValveIsOpen"/> </MultiBinding> </ctrls:FlowPipe.IsFlowing> </ctrls:FlowPipe> <!--SF6--> <ctrls:FlowPipe Height="8" Width="310" Canvas.Left="174" Canvas.Top="286" IsFlowing="{Binding MFC2ValveIsOpen}"/> <TextBlock Text="V2" Canvas.Left="438" Canvas.Top="264"/> <customControls:CommonValveControl Status="{Binding MFC2ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="436" Canvas.Top="280" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="12" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/> <ctrls:FlowPipe Height="8" Width="112" Canvas.Left="64" Canvas.Top="286" IsFlowing="{Binding PV21ValveIsOpen}"/> <ctrls:FlowPipe Height="8" Width="80" Canvas.Left="177" Canvas.Top="322" IsFlowing="{Binding PV22ValveIsOpen}"/> <ctrls:FlowPipe Height="8" Width="32" Canvas.Left="178" Canvas.Top="290" RotateTransformValue="90" IsFlowing="{Binding PV22ValveIsOpen}"/> <ctrls:Pipe2 Canvas.Left="183" Canvas.Top="330" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" /> <ctrls:FlowPipe Height="8" Width="55" Canvas.Left="257" Canvas.Top="270" RotateTransformValue="90" IsReverse="True" > <ctrls:FlowPipe.IsFlowing> <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}"> <Binding Path="PV22ValveIsOpen"/> <Binding Path="PV32ValveIsOpen"/> <Binding Path="PV42ValveIsOpen"/> </MultiBinding> </ctrls:FlowPipe.IsFlowing> </ctrls:FlowPipe> <!--Gas3--> <ctrls:FlowPipe Height="8" Width="310" Canvas.Left="174" Canvas.Top="342" IsFlowing="{Binding MFC3ValveIsOpen}"/> <TextBlock Text="V3" Canvas.Left="438" Canvas.Top="320"/> <customControls:CommonValveControl Status="{Binding MFC3ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="436" Canvas.Top="336" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="13" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/> <ctrls:FlowPipe Height="8" Width="112" Canvas.Left="64" Canvas.Top="342" IsFlowing="{Binding PV31ValveIsOpen}"/> <ctrls:FlowPipe Height="8" Width="80" Canvas.Left="177" Canvas.Top="378" IsFlowing="{Binding PV32ValveIsOpen}"/> <ctrls:FlowPipe Height="8" Width="30" Canvas.Left="178" Canvas.Top="348" RotateTransformValue="90" IsFlowing="{Binding PV32ValveIsOpen}"/> <ctrls:Pipe2 Canvas.Left="183" Canvas.Top="386" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" /> <ctrls:FlowPipe Height="8" Width="57" Canvas.Left="257" Canvas.Top="324" RotateTransformValue="90" IsReverse="True" > <ctrls:FlowPipe.IsFlowing> <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}"> <Binding Path="PV32ValveIsOpen"/> <Binding Path="PV42ValveIsOpen"/> </MultiBinding> </ctrls:FlowPipe.IsFlowing> </ctrls:FlowPipe> <!--Gas4--> <ctrls:FlowPipe Height="8" Width="112" Canvas.Left="64" Canvas.Top="396" IsFlowing="{Binding PV41ValveIsOpen}"/> <ctrls:FlowPipe Height="8" Width="76" Canvas.Left="175" Canvas.Top="428" IsFlowing="{Binding PV42ValveIsOpen}"/> <ctrls:FlowPipe Height="8" Width="310" Canvas.Left="174" Canvas.Top="396" IsFlowing="{Binding MFC4ValveIsOpen}"/> <TextBlock Text="V4" Canvas.Left="438" Canvas.Top="374"/> <customControls:CommonValveControl Status="{Binding MFC4ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="436" Canvas.Top="390" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="14" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/> <ctrls:FlowPipe Height="8" Width="50" Canvas.Left="257" Canvas.Top="380" RotateTransformValue="90" IsReverse="True"> <ctrls:FlowPipe.IsFlowing> <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}"> <Binding Path="PV42ValveIsOpen"/> </MultiBinding> </ctrls:FlowPipe.IsFlowing> </ctrls:FlowPipe> <ctrls:Pipe2 Canvas.Left="257" Canvas.Top="423" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="90" /> <ctrls:FlowPipe Height="8" Width="30" Canvas.Left="178" Canvas.Top="401" RotateTransformValue="90" IsFlowing="{Binding PV42ValveIsOpen}"/> <ctrls:Pipe2 Canvas.Left="183" Canvas.Top="436" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" /> <!--Gas5--> <ctrls:FlowPipe Height="8" Width="419" Canvas.Left="64" Canvas.Top="452" IsFlowing="{Binding MFC5ValveIsOpen}"/> <TextBlock Text="V5" Canvas.Left="438" Canvas.Top="430"/> <customControls:CommonValveControl Status="{Binding MFC5ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="436" Canvas.Top="446" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="15" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/> <!--O2--> <ctrls:FlowPipe Height="8" Width="415" Canvas.Left="65" Canvas.Top="507" IsFlowing="{Binding MFC6ValveIsOpen}"/> <TextBlock Text="V6" Canvas.Left="438" Canvas.Top="485"/> <customControls:CommonValveControl Status="{Binding MFC6ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="436" Canvas.Top="501" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="16" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/> <!--Gas7--> <!--<ctrls:FlowPipe Height="8" Width="418" Canvas.Left="65" Canvas.Top="563" IsFlowing="{Binding MFC7ValveIsOpen}"/>--> <!--<TextBlock Text="V7" Canvas.Left="438" Canvas.Top="541"/>--> <!--<customControls:CommonValveControl Status="{Binding MFC7ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="436" Canvas.Top="557" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="17" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>--> <!--Gas8--> <!--<ctrls:FlowPipe Height="8" Width="412" Canvas.Left="68" Canvas.Top="620" IsFlowing="{Binding MFC8ValveIsOpen}"/>--> <!--<TextBlock Text="V8" Canvas.Left="438" Canvas.Top="598"/>--> <!--<customControls:CommonValveControl Status="{Binding MFC8ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="436" Canvas.Top="614" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="18" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>--> <!--<TextBlock Text="Pressure Alarm" Canvas.Left="68" Canvas.Top="94"/>--> <Ellipse Width="20" Height="20" Canvas.Left="90" Canvas.Top="114" Fill="{Binding MFCN2Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse> <Ellipse Width="20" Height="20" Canvas.Left="90" Canvas.Top="224" Fill="{Binding MFC1Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse> <Ellipse Width="20" Height="20" Canvas.Left="90" Canvas.Top="280" Fill="{Binding MFC2Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse> <Ellipse Width="20" Height="20" Canvas.Left="90" Canvas.Top="336" Fill="{Binding MFC3Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse> <Ellipse Width="20" Height="20" Canvas.Left="90" Canvas.Top="390" Fill="{Binding MFC4Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse> <Ellipse Width="20" Height="20" Canvas.Left="90" Canvas.Top="446" Fill="{Binding MFC5Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse> <Ellipse Width="20" Height="20" Canvas.Left="90" Canvas.Top="501" Fill="{Binding MFC6Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse> <!--<Ellipse Width="20" Height="20" Canvas.Left="90" Canvas.Top="557" Fill="{Binding MFC7Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse>--> <!--<Ellipse Width="20" Height="20" Canvas.Left="90" Canvas.Top="614" Fill="{Binding MFC8Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse>--> <!--与chamber上方连接的管道--> <ctrls:FlowPipe Height="8" Width="180" Canvas.Left="482" Canvas.Top="120"> <ctrls:FlowPipe.IsFlowing> <MultiBinding Converter="{StaticResource toBoolMultiValueConverter5}"> <Binding Path="GasFinalValveIsOpen"/> <Binding Path="PurgeValveIsOpen"/> <Binding Path="N2ValveIsOpen"/> <Binding Path="PV11ValveIsOpen"/> <Binding Path="PV21ValveIsOpen"/> <Binding Path="PV31ValveIsOpen"/> <Binding Path="PV41ValveIsOpen"/> <Binding Path="MFC5ValveIsOpen"/> <Binding Path="MFC6ValveIsOpen"/> <Binding Path="MFC7ValveIsOpen"/> <Binding Path="MFC8ValveIsOpen"/> </MultiBinding> </ctrls:FlowPipe.IsFlowing> </ctrls:FlowPipe> <ctrls:FlowPipe Height="8" Width="154" Canvas.Left="660" Canvas.Top="120"> <ctrls:FlowPipe.IsFlowing> <MultiBinding Converter="{StaticResource toBoolMultiValueConverter4}"> <Binding Path="GasFinalValveIsOpen"/> <Binding Path="N2ValveIsOpen"/> <Binding Path="PV11ValveIsOpen"/> <Binding Path="PV21ValveIsOpen"/> <Binding Path="PV31ValveIsOpen"/> <Binding Path="PV41ValveIsOpen"/> <Binding Path="MFC5ValveIsOpen"/> <Binding Path="MFC6ValveIsOpen"/> <Binding Path="MFC7ValveIsOpen"/> <Binding Path="MFC8ValveIsOpen"/> </MultiBinding> </ctrls:FlowPipe.IsFlowing> </ctrls:FlowPipe> <ctrls:FlowPipe Height="8" Width="150" Canvas.Left="812" Canvas.Top="120"> <ctrls:FlowPipe.IsFlowing> <MultiBinding Converter="{StaticResource toBoolMultiValueConverter5}"> <Binding Path="GasFinalValveIsOpen"/> <Binding Path="PurgeValveIsOpen"/> <Binding Path="N2ValveIsOpen"/> <Binding Path="PV11ValveIsOpen"/> <Binding Path="PV21ValveIsOpen"/> <Binding Path="PV31ValveIsOpen"/> <Binding Path="PV41ValveIsOpen"/> <Binding Path="MFC5ValveIsOpen"/> <Binding Path="MFC6ValveIsOpen"/> <Binding Path="MFC7ValveIsOpen"/> <Binding Path="MFC8ValveIsOpen"/> </MultiBinding> </ctrls:FlowPipe.IsFlowing> </ctrls:FlowPipe> <ctrls:FlowPipe Height="8" Width="144" Canvas.Left="662" Canvas.Top="80"> <ctrls:FlowPipe.IsFlowing> <MultiBinding Converter="{StaticResource toBoolMultiValueConverter4}"> <Binding Path="PurgeValveIsOpen"/> <Binding Path="N2ValveIsOpen"/> <Binding Path="PV11ValveIsOpen"/> <Binding Path="PV21ValveIsOpen"/> <Binding Path="PV31ValveIsOpen"/> <Binding Path="PV41ValveIsOpen"/> <Binding Path="MFC5ValveIsOpen"/> <Binding Path="MFC6ValveIsOpen"/> <Binding Path="MFC7ValveIsOpen"/> <Binding Path="MFC8ValveIsOpen"/> </MultiBinding> </ctrls:FlowPipe.IsFlowing> </ctrls:FlowPipe> <ctrls:FlowPipe Height="8" Width="36" Canvas.Left="815" Canvas.Top="85" RotateTransformValue="90" IsReverse="False"> <ctrls:FlowPipe.IsFlowing> <MultiBinding Converter="{StaticResource toBoolMultiValueConverter4}"> <Binding Path="PurgeValveIsOpen"/> <Binding Path="N2ValveIsOpen"/> <Binding Path="PV11ValveIsOpen"/> <Binding Path="PV21ValveIsOpen"/> <Binding Path="PV31ValveIsOpen"/> <Binding Path="PV41ValveIsOpen"/> <Binding Path="MFC5ValveIsOpen"/> <Binding Path="MFC6ValveIsOpen"/> <Binding Path="MFC7ValveIsOpen"/> <Binding Path="MFC8ValveIsOpen"/> </MultiBinding> </ctrls:FlowPipe.IsFlowing> </ctrls:FlowPipe> <ctrls:FlowPipe Height="8" Width="34" Canvas.Left="665" Canvas.Top="88" RotateTransformValue="90" IsReverse="True"> <ctrls:FlowPipe.IsFlowing> <MultiBinding Converter="{StaticResource toBoolMultiValueConverter4}"> <Binding Path="PurgeValveIsOpen"/> <Binding Path="N2ValveIsOpen"/> <Binding Path="PV11ValveIsOpen"/> <Binding Path="PV21ValveIsOpen"/> <Binding Path="PV31ValveIsOpen"/> <Binding Path="PV41ValveIsOpen"/> <Binding Path="MFC5ValveIsOpen"/> <Binding Path="MFC6ValveIsOpen"/> <Binding Path="MFC7ValveIsOpen"/> <Binding Path="MFC8ValveIsOpen"/> </MultiBinding> </ctrls:FlowPipe.IsFlowing> </ctrls:FlowPipe> <ctrls:Pipe2 Canvas.Left="802" Canvas.Top="80" HorizontalAlignment="Left" VerticalAlignment="Top" /> <ctrls:Pipe2 Canvas.Left="657" Canvas.Top="93" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" /> <customControls:CommonValveControl Status="{Binding PurgeValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="728" Canvas.Top="74" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="53" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/> <TextBlock Text="Purge" Canvas.Left="720" Canvas.Top="50" FontSize="15"/> <TextBlock Text="Gas Final" Canvas.Left="710" Canvas.Top="140" FontSize="15"/> <customControls:CommonValveControl Status="{Binding GasFinalValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="728" Canvas.Top="114" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="21" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/> <ctrls:Pipe2 Canvas.Left="960" Canvas.Top="120" HorizontalAlignment="Left" VerticalAlignment="Top" /> <ctrls:FlowPipe Name="l8" Height="8" Width="56" Canvas.Left="490" Canvas.Top="126" RotateTransformValue="90" IsReverse="True"> <ctrls:FlowPipe.IsFlowing> <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}"> <Binding Path="MFC1ValveIsOpen"/> <Binding Path="MFC2ValveIsOpen"/> <Binding Path="MFC3ValveIsOpen"/> <Binding Path="MFC4ValveIsOpen"/> <Binding Path="MFC5ValveIsOpen"/> <Binding Path="MFC6ValveIsOpen"/> <Binding Path="MFC7ValveIsOpen"/> <Binding Path="MFC8ValveIsOpen"/> </MultiBinding> </ctrls:FlowPipe.IsFlowing> </ctrls:FlowPipe> <ctrls:FlowPipe Height="8" Width="56" Canvas.Left="490" Canvas.Top="180" RotateTransformValue="90" IsReverse="True"> <ctrls:FlowPipe.IsFlowing> <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}"> <Binding Path="MFC1ValveIsOpen"/> <Binding Path="MFC2ValveIsOpen"/> <Binding Path="MFC3ValveIsOpen"/> <Binding Path="MFC4ValveIsOpen"/> <Binding Path="MFC5ValveIsOpen"/> <Binding Path="MFC6ValveIsOpen"/> <Binding Path="MFC7ValveIsOpen"/> <Binding Path="MFC8ValveIsOpen"/> </MultiBinding> </ctrls:FlowPipe.IsFlowing> </ctrls:FlowPipe> <ctrls:FlowPipe Height="8" Width="58" Canvas.Left="490" Canvas.Top="234" RotateTransformValue="90" IsReverse="True"> <ctrls:FlowPipe.IsFlowing> <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}"> <Binding Path="MFC2ValveIsOpen"/> <Binding Path="MFC3ValveIsOpen"/> <Binding Path="MFC4ValveIsOpen"/> <Binding Path="MFC5ValveIsOpen"/> <Binding Path="MFC6ValveIsOpen"/> <Binding Path="MFC7ValveIsOpen"/> <Binding Path="MFC8ValveIsOpen"/> </MultiBinding> </ctrls:FlowPipe.IsFlowing> </ctrls:FlowPipe> <ctrls:FlowPipe Height="8" Width="56" Canvas.Left="490" Canvas.Top="290" RotateTransformValue="90" IsReverse="True"> <ctrls:FlowPipe.IsFlowing> <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}"> <Binding Path="MFC3ValveIsOpen"/> <Binding Path="MFC4ValveIsOpen"/> <Binding Path="MFC5ValveIsOpen"/> <Binding Path="MFC6ValveIsOpen"/> <Binding Path="MFC7ValveIsOpen"/> <Binding Path="MFC8ValveIsOpen"/> </MultiBinding> </ctrls:FlowPipe.IsFlowing> </ctrls:FlowPipe> <ctrls:FlowPipe Height="8" Width="58" Canvas.Left="490" Canvas.Top="344" RotateTransformValue="90" IsReverse="True"> <ctrls:FlowPipe.IsFlowing> <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}"> <Binding Path="MFC4ValveIsOpen"/> <Binding Path="MFC5ValveIsOpen"/> <Binding Path="MFC6ValveIsOpen"/> <Binding Path="MFC7ValveIsOpen"/> <Binding Path="MFC8ValveIsOpen"/> </MultiBinding> </ctrls:FlowPipe.IsFlowing> </ctrls:FlowPipe> <ctrls:FlowPipe Height="8" Width="58" Canvas.Left="490" Canvas.Top="400" RotateTransformValue="90" IsReverse="True"> <ctrls:FlowPipe.IsFlowing> <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}"> <Binding Path="MFC5ValveIsOpen"/> <Binding Path="MFC6ValveIsOpen"/> <Binding Path="MFC7ValveIsOpen"/> <Binding Path="MFC8ValveIsOpen"/> </MultiBinding> </ctrls:FlowPipe.IsFlowing> </ctrls:FlowPipe> <ctrls:FlowPipe Height="8" Width="50" Canvas.Left="490" Canvas.Top="456" RotateTransformValue="90" IsReverse="True"> <ctrls:FlowPipe.IsFlowing> <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}"> <Binding Path="MFC6ValveIsOpen"/> <Binding Path="MFC7ValveIsOpen"/> <Binding Path="MFC8ValveIsOpen"/> </MultiBinding> </ctrls:FlowPipe.IsFlowing> </ctrls:FlowPipe> <!--<ctrls:FlowPipe Height="8" Width="48" Canvas.Left="490" Canvas.Top="512" RotateTransformValue="90" IsReverse="True"> <ctrls:FlowPipe.IsFlowing> <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}"> <Binding Path="MFC7ValveIsOpen"/> <Binding Path="MFC8ValveIsOpen"/> </MultiBinding> </ctrls:FlowPipe.IsFlowing> </ctrls:FlowPipe>--> <!--<ctrls:FlowPipe Height="8" Width="48" Canvas.Left="490" Canvas.Top="568" RotateTransformValue="90" IsReverse="True"> <ctrls:FlowPipe.IsFlowing> <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}"> <Binding Path="MFC8ValveIsOpen"/> </MultiBinding> </ctrls:FlowPipe.IsFlowing> </ctrls:FlowPipe>--> <ctrls:FlowPipe Height="8" Width="110" Canvas.Left="973" Canvas.Top="129" RotateTransformValue="90"> <ctrls:FlowPipe.IsFlowing> <MultiBinding Converter="{StaticResource toBoolMultiValueConverter5}"> <Binding Path="GasFinalValveIsOpen"/> <Binding Path="PurgeValveIsOpen"/> <Binding Path="N2ValveIsOpen"/> <Binding Path="PV11ValveIsOpen"/> <Binding Path="PV21ValveIsOpen"/> <Binding Path="PV31ValveIsOpen"/> <Binding Path="PV41ValveIsOpen"/> <Binding Path="MFC5ValveIsOpen"/> <Binding Path="MFC6ValveIsOpen"/> <Binding Path="MFC7ValveIsOpen"/> <Binding Path="MFC8ValveIsOpen"/> </MultiBinding> </ctrls:FlowPipe.IsFlowing> </ctrls:FlowPipe> <!--阀--> <TextBlock Text="V41" Canvas.Left="128" Canvas.Top="374"/> <customControls:CommonValveControl Status="{Binding PV41ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="127" Canvas.Top="390" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="8" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/> <TextBlock Text="V31" Canvas.Left="128" Canvas.Top="320"/> <customControls:CommonValveControl Status="{Binding PV31ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="127" Canvas.Top="336" Tag="6" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/> <TextBlock Text="V21" Canvas.Left="128" Canvas.Top="266"/> <customControls:CommonValveControl Status="{Binding PV21ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="127" Canvas.Top="280" Tag="4" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/> <TextBlock Text="V11" Canvas.Left="128" Canvas.Top="208"/> <customControls:CommonValveControl Status="{Binding PV11ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="127" Canvas.Top="224" Tag="2" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/> <TextBlock Text="V12" Canvas.Left="200" Canvas.Top="243"/> <customControls:CommonValveControl Status="{Binding PV12ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="200" Canvas.Top="259" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="3" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/> <TextBlock Text="V22" Canvas.Left="200" Canvas.Top="300"/> <customControls:CommonValveControl Status="{Binding PV22ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="200" Canvas.Top="315" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="5" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/> <TextBlock Text="V32" Canvas.Left="200" Canvas.Top="355"/> <customControls:CommonValveControl Status="{Binding PV32ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="200" Canvas.Top="371" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="7" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/> <TextBlock Text="V42" Canvas.Left="200" Canvas.Top="405"/> <customControls:CommonValveControl Status="{Binding PV42ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="200" Canvas.Top="421" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="9" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/> <TextBlock Text="VN21" Canvas.Left="200" Canvas.Top="152"/> <customControls:CommonValveControl Status="{Binding PVN21ValveIsOpen,Mode=TwoWay}" ValveOrientation="Vertical" Height="20" Width="20" Canvas.Left="243" Canvas.Top="148" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="0" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/> <!--左侧管道标签--> <ctrls:TextboxWithLabel TextBoxValue="{Binding MFC1SetPoint,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False" Canvas.Top="205" Canvas.Left="275" LabelValue="MFC1" ToolTip="{Binding MFC1Data.SetPoint,StringFormat='F1'}" TextBoxColor="White" MaxValue="{Binding MFC1Data.Scale}"/> <!--<TextBox Canvas.Top="205" Canvas.Left="250" Width="100" Text="{Binding MfcGas1Setpoint,Mode=TwoWay}"/>--> <ctrls:TextboxWithLabel Canvas.Top="205" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC1Data.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD"/> <ctrls:TextboxWithLabel TextBoxValue="{Binding MFC2SetPoint,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False" Canvas.Top="260" Canvas.Left="275" LabelValue="MFC2" ToolTip="{Binding MFC2Data.SetPoint,StringFormat='F1'}" TextBoxColor="White" MaxValue="{Binding MFC2Data.Scale}"/> <ctrls:TextboxWithLabel Canvas.Top="260" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC2Data.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD"/> <ctrls:TextboxWithLabel TextBoxValue="{Binding MFC3SetPoint,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False" Canvas.Top="318" Canvas.Left="275" LabelValue="MFC3" ToolTip="{Binding MFC3Data.SetPoint,StringFormat='F1'}" TextBoxColor="White" MaxValue="{Binding MFC3Data.Scale}"/> <ctrls:TextboxWithLabel Canvas.Top="318" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC3Data.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD"/> <ctrls:TextboxWithLabel TextBoxValue="{Binding MFC4SetPoint,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False" Canvas.Top="370" Canvas.Left="275" LabelValue="MFC4" ToolTip="{Binding MFC4Data.SetPoint,StringFormat='F1'}" TextBoxColor="White" MaxValue="{Binding MFC4Data.Scale}"/> <ctrls:TextboxWithLabel Canvas.Top="370" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC4Data.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD"/> <ctrls:TextboxWithLabel TextBoxValue="{Binding MFC5SetPoint,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False" Canvas.Top="426" Canvas.Left="275" LabelValue="MFC5" ToolTip="{Binding MFC5Data.SetPoint,StringFormat='F1'}" TextBoxColor="White" MaxValue="{Binding MFC5Data.Scale}"/> <ctrls:TextboxWithLabel Canvas.Top="426" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC5Data.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD"/> <ctrls:TextboxWithLabel TextBoxValue="{Binding MFC6SetPoint,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False" Canvas.Top="482" Canvas.Left="275" LabelValue="MFC6" ToolTip="{Binding MFC6Data.SetPoint,StringFormat='F1'}" TextBoxColor="White" MaxValue="{Binding MFC6Data.Scale}"/> <ctrls:TextboxWithLabel Canvas.Top="482" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC6Data.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD"/> <!--<ctrls:TextboxWithLabel TextBoxValue="{Binding MFC7SetPoint,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False" Canvas.Top="538" Canvas.Left="275" LabelValue="MFC7" ToolTip="{Binding MFC7Data.SetPoint,StringFormat='F1'}" TextBoxColor="White" MaxValue="{Binding MFC7Data.Scale}"/> <ctrls:TextboxWithLabel Canvas.Top="538" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC7Data.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD"/> <ctrls:TextboxWithLabel TextBoxValue="{Binding MFC8SetPoint,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False" Canvas.Top="595" Canvas.Left="275" LabelValue="MFC8" ToolTip="{Binding MFC8Data.SetPoint,StringFormat='F1'}" TextBoxColor="White" MaxValue="{Binding MFC8Data.Scale}"/> <ctrls:TextboxWithLabel Canvas.Top="595" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC8Data.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>--> <Ellipse Width="20" Height="20" Fill="{Binding GasIsFlowing,Converter={StaticResource boolToColor}}" Canvas.Left="360" Canvas.Top="538" Stroke="Silver" StrokeThickness="2"/> <Button Width="100" Content="Gas ON/OFF" Canvas.Left="390" Canvas.Top="540" Style="{StaticResource SysBtnStyle}" Command="{Binding GasCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/> <TextBlock FontSize="13" Text="Vent N2" Canvas.Left="10" Canvas.Top="117" Foreground="Black" Block.TextAlignment="Right" Width="50"/> <TextBlock FontSize="13" Canvas.Left="-5" Canvas.Top="227" Block.TextAlignment="Right" MaxWidth="65"> <TextBlock.Text> <MultiBinding StringFormat="{}({0}:{1})"> <Binding Path="MFC1Data.DisplayName"></Binding> <Binding Path="MFC1Data.Scale"></Binding> </MultiBinding> </TextBlock.Text> </TextBlock> <TextBlock FontSize="13" Canvas.Left="-5" Canvas.Top="284" Block.TextAlignment="Right" MaxWidth="65"> <TextBlock.Text> <MultiBinding StringFormat="{}({0}:{1})"> <Binding Path="MFC2Data.DisplayName"></Binding> <Binding Path="MFC2Data.Scale"></Binding> </MultiBinding> </TextBlock.Text> </TextBlock> <TextBlock FontSize="13" Canvas.Left="-5" Canvas.Top="338" Block.TextAlignment="Right" MaxWidth="65"> <TextBlock.Text> <MultiBinding StringFormat="{}({0}:{1})"> <Binding Path="MFC3Data.DisplayName"></Binding> <Binding Path="MFC3Data.Scale"></Binding> </MultiBinding> </TextBlock.Text> </TextBlock> <TextBlock FontSize="13" Canvas.Left="-5" Canvas.Top="392" Block.TextAlignment="Right" MaxWidth="65"> <TextBlock.Text> <MultiBinding StringFormat="{}({0}:{1})"> <Binding Path="MFC4Data.DisplayName"></Binding> <Binding Path="MFC4Data.Scale"></Binding> </MultiBinding> </TextBlock.Text> </TextBlock> <TextBlock FontSize="13" Canvas.Left="-5" Canvas.Top="448" Block.TextAlignment="Right" MaxWidth="65"> <TextBlock.Text> <MultiBinding StringFormat="{}({0}:{1})"> <Binding Path="MFC5Data.DisplayName"></Binding> <Binding Path="MFC5Data.Scale"></Binding> </MultiBinding> </TextBlock.Text> </TextBlock> <TextBlock FontSize="13" Canvas.Left="-5" Canvas.Top="503" Block.TextAlignment="Right" MaxWidth="65"> <TextBlock.Text> <MultiBinding StringFormat="{}({0}:{1})"> <Binding Path="MFC6Data.DisplayName"></Binding> <Binding Path="MFC6Data.Scale"></Binding> </MultiBinding> </TextBlock.Text> </TextBlock> <!--<TextBlock FontSize="13" Canvas.Left="-5" Canvas.Top="562" Block.TextAlignment="Right" MaxWidth="65"> <TextBlock.Text> <MultiBinding StringFormat="{}({0}:{1})"> <Binding Path="MFC7Data.DisplayName"></Binding> <Binding Path="MFC7Data.Scale"></Binding> </MultiBinding> </TextBlock.Text> </TextBlock> <TextBlock FontSize="13" Canvas.Left="-5" Canvas.Top="618" Block.TextAlignment="Right" MaxWidth="65"> <TextBlock.Text> <MultiBinding StringFormat="{}({0}:{1})"> <Binding Path="MFC8Data.DisplayName"></Binding> <Binding Path="MFC8Data.Scale"></Binding> </MultiBinding> </TextBlock.Text> </TextBlock>--> </Canvas > <Canvas Canvas.Right="2050" Canvas.Top="70"> <!--<Ellipse Width="20" Height="20" Fill="{Binding PVHe1ValveIsOpen,Converter={StaticResource boolToColor}}" Canvas.Left="650" Canvas.Top="682" Stroke="Silver" StrokeThickness="2"/> <Button Width="100" Content="He ON/OFF" Style="{StaticResource SysBtnStyle}" Command="{Binding HeCommand}" Canvas.Left="680" Canvas.Top="682" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/> <RadioButton Canvas.Left="790" Canvas.Top="684" Content="Flow Mode" FontSize="15" IsChecked="{Binding HeIsPressureMode,Converter={StaticResource BoolToBool}}"/> <RadioButton Canvas.Left="890" Canvas.Top="684" Content="Pressure Mode" FontSize="15" IsChecked="{Binding HeIsPressureMode}"/>--> <!--与chamber右上角连接的管道--> <ctrls:FlowPipe Height="8" Width="40" Canvas.Left="1232" Canvas.Top="275" RotateTransformValue="90" /> <ctrls:FlowPipe Height="8" Width="126" Canvas.Left="1220" Canvas.Top="192" RotateTransformValue="90" /> <ctrls:Pipe2 Canvas.Left="1224" Canvas.Top="285" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" /> <ctrls:FlowPipe Height="8" Width="80" Canvas.Left="1222" Canvas.Top="182" /> <ctrls:FlowPipe Height="8" Width="70" Canvas.Left="1234" Canvas.Top="272" /> <TextBlock Text="Guage" Canvas.Left="1242" Canvas.Top="248"/> <customControls:CommonValveControl ValveOrientation="Horizontal" Status="{Binding GuageValveIsOpen,Mode=TwoWay}" Height="20" Width="20" Canvas.Left="1250" Canvas.Top="265" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="27" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/> <Border BorderBrush="Gray" BorderThickness="0" Width="18" Height="6" Canvas.Left="1285" 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="1255" 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="1272" Canvas.Top="150" Fill="{Binding IsATM,Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="2"></Ellipse> <Ellipse Width="20" Height="20" Canvas.Left="1242" Canvas.Top="200" Fill="{Binding IsVAC,Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="2"></Ellipse> <TextBlock Text="ATM" Canvas.Left="1270" Canvas.Top="134"/> <TextBlock Text="VAC" Canvas.Left="1240" Canvas.Top="220"/> <ctrls:Pipe2 Canvas.Left="1212" Canvas.Top="195" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" /> <!--与chamber底部连接的管道--> <!--<ctrls:FlowPipe Height="8" Width="293" Canvas.Left="760" 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="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="192" Canvas.Left="1266" Canvas.Top="446" RotateTransformValue="90" IsFlowing="{Binding TurboPumpPumpingValveIsOpen}"> </ctrls:FlowPipe> <ctrls:FlowPipe Height="8" Width="65" 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="25" Canvas.Left="1185" Canvas.Top="455" > <ctrls:FlowPipe.IsFlowing> <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}"> <Binding Path="SoftPumpValveIsOpen"/> <Binding Path="FastPumpValveIsOpen"/> </MultiBinding> </ctrls:FlowPipe.IsFlowing> </ctrls:FlowPipe> <ctrls:FlowPipe Height="8" Width="70" Canvas.Left="1185" Canvas.Top="440" IsFlowing="{Binding TurboPumpPumpingValveIsOpen}"/> <ctrls:Pipe2 Canvas.Left="1253" Canvas.Top="440" HorizontalAlignment="Left" VerticalAlignment="Top" /> <ctrls:FlowPipe Height="8" Width="55" Canvas.Left="1219" Canvas.Top="458" 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" /> <ctrls:Pipe2 Canvas.Left="1206" Canvas.Top="455" HorizontalAlignment="Left" VerticalAlignment="Top" /> <TextBlock Canvas.Left="1129" 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" /> <!--<ctrls:FlowPipeValve x:Name="purgevalve" Height="20" Width="24" Canvas.Left="1458" Canvas.Top="610" RotateTransformValue="90" IsOpen="{Binding TurboPumpPumpingValveIsOpen,Mode=TwoWay}"/>--> <customControls:CommonValveControl Status="{Binding TurboPumpPurgeValveIsOpen,Mode=TwoWay}" ValveOrientation="Vertical" Height="20" Width="20" Canvas.Left="1434" Canvas.Top="610" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" 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="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" 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="1094"/>--> <!--<customControls:CommonValveControl ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Top="674" Canvas.Left="1100" Status="{Binding PVHe2ValveIsOpen,Mode=TwoWay}" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" 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="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" 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="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" 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="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="25" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/> <!--turbo--> <ctrls:Turbo Width="40" Height="40" Canvas.Top="521" Canvas.Left="1242" IsOpen="{Binding TurboIsOpen}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"> <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}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"> <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="715" Width="40" Height="25" Source="Pack://application:,,,/Venus_Themes;Component/Resources/Arrow.png" Stretch="Uniform" > </Image> <TextBlock Text="Helium" Canvas.Top="653" Canvas.Left="670" FontSize="15"/>--> <!--chamber管道标签--> <ctrls:TextboxWithLabel Canvas.Top="156" Canvas.Left="1296" LabelValue="CM2(mTorr)" TextBoxValue="{Binding ProcessHighPressure,StringFormat='F1'}" TextBoxColor="#D7E4BD"/> <ctrls:TextboxWithLabel Canvas.Top="248" Canvas.Left="1288" LabelValue="CM1(mTorr)" TextBoxValue="{Binding ProcessLowPressure,StringFormat='F1'}" TextBoxColor="#D7E4BD"/> <!--<ctrls:TextboxWithLabel Canvas.Top="633" Canvas.Left="880" LabelValue="Pressure(mTorr)" TextBoxValue="{Binding HePressureSetpoint,Mode=TwoWay}" TextBoxColor="White" IsReadOnly="False"/>--> <!--<ctrls:TextboxWithLabel Canvas.Top="633" Canvas.Left="820" TextBoxValue="{Binding HeGasSetpoint,Mode=TwoWay}" LabelValue="Flow(sccm)/Pressure(Torr)" TextBoxColor="White" IsReadOnly="False"/>--> <!--<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 PendulumValvePosition,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"/> <!--加热--> <!--<ctrls:TextboxWithLabel Canvas.Top="320" Canvas.Left="1290" LabelValue="Valve Heater" TextBoxValue="{Binding ValveHeaterData.CoolantOutletTcFeedback}" TextBoxColor="{Binding ValveHeaterData.IsPowerOn,Converter={StaticResource boolToColor}}" Cursor="Hand"/> <ctrls:TextboxWithLabel Canvas.Top="360" Canvas.Left="1283" LabelValue="Foreline Heater" TextBoxValue="{Binding ForelineHeaterData.CoolantOutletTcFeedback}" TextBoxColor="{Binding ForelineHeaterData.IsPowerOn,Converter={StaticResource boolToColor}}" Cursor="Hand"/> <ctrls:TextboxWithLabel Canvas.Top="400" Canvas.Left="1290" LabelValue="Wall Heater" TextBoxValue="{Binding WallHeaterData.CoolantOutletTcFeedback}" TextBoxColor="{Binding WallHeaterData.IsPowerOn,Converter={StaticResource boolToColor}}" Cursor="Hand"/>--> <!--<StackPanel Canvas.Top="470" Canvas.Left="960" Orientation="Vertical"> <TextBlock Text="Valve Heater"/> <Button Height="18" Width="50" Content="{Binding ValveHeaterData.FeedBack}" ToolTip="{Binding ValveHeaterData,Converter={StaticResource HeaterToStringConverter}}" Foreground="White" ContentStringFormat="F1" Background="{Binding ValveHeaterData.IsPowerOnSetPoint,Converter={StaticResource boolToColor5}}" Style="{x:Null}" Command="{Binding HeaterCommand}" CommandParameter="{Binding ValveHeaterData}" Cursor="Hand"/> </StackPanel>--> <!--<StackPanel Canvas.Top="645" Canvas.Left="1160" Orientation="Vertical"> <TextBlock Text="Foreline Heater"/> <Button Height="18" Width="50" Content="{Binding ForelineHeaterData.FeedBack}" ToolTip="{Binding ForelineHeaterData,Converter={StaticResource HeaterToStringConverter}}" Foreground="White" ContentStringFormat="F1" Background="{Binding ForelineHeaterData.IsPowerOnSetPoint,Converter={StaticResource boolToColor5}}" Style="{x:Null}" Command="{Binding HeaterCommand}" CommandParameter="{Binding ForelineHeaterData}" Cursor="Hand" /> </StackPanel>--> <StackPanel Canvas.Top="420" Canvas.Left="1270" Orientation="Vertical"> <TextBlock Text="Pendulum Heater"/> <Button Height="18" Width="50" Content="{Binding PendulumHeaterData.FeedBack}" ToolTip="{Binding PendulumHeaterData,Converter={StaticResource HeaterToStringConverter}}" Foreground="White" ContentStringFormat="F1" Background="{Binding PendulumHeaterData.IsPowerOnSetPoint,Converter={StaticResource boolToColor5}}" Style="{x:Null}" Command="{Binding HeaterCommand}" CommandParameter="{Binding PendulumHeaterData}" Cursor="Hand"/> </StackPanel> <!--Chamber--> <ctrls:Chamber Canvas.Left="1000" 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}" WaferID="{Binding WaferID}" ModuleName="{Binding ModuleName}" IsHasHeater="True" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" /> <ctrls:Pump Canvas.Top="700" Canvas.Left="1245" Width="35" Height="35" IsOpen="{Binding PumpIsOpen,Mode=TwoWay}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"> <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 Text="Rough Pump" Canvas.Top="734" Canvas.Left="1220" FontSize="15"/> </Canvas> <Canvas Canvas.Right="1250" Canvas.Top="100"> <!--<Button Width="120" Height="30" Content="Flash" Canvas.Left="700" Canvas.Top="100" Command="{Binding LoadRecipeCommand}" IsEnabled="{Binding IsAutoMode}" Style="{x:Null}"/>--> <!--<TextBlock Background="Silver" Height="30" Width="230" Canvas.Left="820" Canvas.Top="100" Text="{Binding SelectedRecipe}" TextBlock.TextAlignment="Center" Block.TextAlignment="Center" Padding="0,7,0,0"/>--> <TextBox Width="140" Height="30" Text="Recipe:" Canvas.Left="700" Canvas.Top="150" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" FontSize="15" IsReadOnly="True" Background="Transparent"/> <Border Width="210" Height="28" Canvas.Left="840" Canvas.Top="151" BorderBrush="Black" BorderThickness=".7"> <ComboBox ItemsSource="{Binding CurrentModuleRecipes}" SelectedItem="{Binding SelectedRecipe}" IsEnabled="{Binding IsAutoMode}" Style="{StaticResource customeComboBoxStyle}" BorderBrush="White" FontSize="15"> <i:Interaction.Triggers> <i:EventTrigger EventName="DropDownOpened"> <i:InvokeCommandAction Command="{Binding LoadRecipeCommand}"/> </i:EventTrigger> </i:Interaction.Triggers> </ComboBox> </Border> <customControls:PathButton Width="120" Height="30" Content="Start" Canvas.Left="1100" Canvas.Top="150" IsEnabled="{Binding IsAutoMode}" Command="{Binding RunRecipeCommand}"/> <Grid Width="540" Height="460" Canvas.Left="700" Canvas.Top="200" unity:GridOptions.ShowBorder="True" unity:GridOptions.LineBrush="#afb4db" unity:GridOptions.LineThickness="1"> <Grid.RowDefinitions> <RowDefinition/> <RowDefinition/> <RowDefinition/> <RowDefinition/> <RowDefinition/> <RowDefinition/> <RowDefinition/> <RowDefinition/> <RowDefinition/> <RowDefinition/> <RowDefinition/> <RowDefinition/> <RowDefinition/> <RowDefinition/> <RowDefinition/> <RowDefinition/> <!--<RowDefinition/>--> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="2*"/> <ColumnDefinition /> <ColumnDefinition /> <ColumnDefinition /> </Grid.ColumnDefinitions> <TextBlock Text="Parameter" FontWeight="Bold" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/> <TextBlock Text="FeedBack" Grid.Column="1" FontWeight="Bold" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/> <TextBlock Text="SetPoint" Grid.Column="2" FontWeight="Bold" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/> <TextBlock Text="Unit" Grid.Column="3" FontWeight="Bold" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/> <TextBlock Grid.Row="1" Text="RF Forward Power" Background="#D0D8E8" Padding="10,5,0,0"/> <TextBlock Grid.Row="2" Text="RF Reflected Power" Background="#E9EDF4" Padding="10,5,0,0" /> <TextBlock Grid.Row="3" Text="RF Match C1%" Background="#D0D8E8" Padding="10,5,0,0" /> <TextBlock Grid.Row="4" Text="RF Match C2%" Background="#E9EDF4" Padding="10,5,0,0" /> <TextBlock Grid.Row="5" Text="Pressure" Background="#D0D8E8" Padding="10,5,0,0" /> <TextBlock Grid.Row="6" Text="Pressure Control Valve Position" Background="#E9EDF4" Padding="10,5,0,0"/> <TextBlock Grid.Row="7" Background="#D0D8E8" Padding="10,5,0,0" > <TextBlock.Text> <MultiBinding StringFormat="{}Gas1({0}:{1})"> <Binding Path="MFC1Data.DisplayName"></Binding> <Binding Path="MFC1Data.Scale"></Binding> </MultiBinding> </TextBlock.Text> </TextBlock> <TextBlock Grid.Row="8" Background="#E9EDF4" Padding="10,5,0,0" > <TextBlock.Text> <MultiBinding StringFormat="{}Gas2({0}:{1})"> <Binding Path="MFC2Data.DisplayName"></Binding> <Binding Path="MFC2Data.Scale"></Binding> </MultiBinding> </TextBlock.Text> </TextBlock> <TextBlock Grid.Row="9" Background="#D0D8E8" Padding="10,5,0,0" > <TextBlock.Text> <MultiBinding StringFormat="{}Gas3({0}:{1})"> <Binding Path="MFC3Data.DisplayName"></Binding> <Binding Path="MFC3Data.Scale"></Binding> </MultiBinding> </TextBlock.Text> </TextBlock> <TextBlock Grid.Row="10" Background="#E9EDF4" Padding="10,5,0,0" > <TextBlock.Text> <MultiBinding StringFormat="{}Gas4({0}:{1})"> <Binding Path="MFC4Data.DisplayName"></Binding> <Binding Path="MFC4Data.Scale"></Binding> </MultiBinding> </TextBlock.Text> </TextBlock> <TextBlock Grid.Row="11" Background="#D0D8E8" Padding="10,5,0,0"> <TextBlock.Text> <MultiBinding StringFormat="{}Gas5({0}:{1})"> <Binding Path="MFC5Data.DisplayName"></Binding> <Binding Path="MFC5Data.Scale"></Binding> </MultiBinding> </TextBlock.Text> </TextBlock> <TextBlock Grid.Row="12" Background="#E9EDF4" Padding="10,5,0,0"> <TextBlock.Text> <MultiBinding StringFormat="{}Gas6({0}:{1})"> <Binding Path="MFC6Data.DisplayName"></Binding> <Binding Path="MFC6Data.Scale"></Binding> </MultiBinding> </TextBlock.Text> </TextBlock> <TextBlock Grid.Row="13" Text="Heater Position" Background="#D0D8E8" Padding="10,5,0,0"/> <TextBlock Grid.Row="14" Text="Heater Temp" Background="#E9EDF4" Padding="10,5,0,0" /> <TextBlock Grid.Row="15" Text="Heater Ratio" Background="#D0D8E8" Padding="10,5,0,0" /> <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding SRFData.ForwardPower}" Background="#D0D8E8" TextBlock.TextAlignment="Center" Block.TextAlignment="Center" Padding="0,5,0,0"/> <TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding SRFData.ReflectPower}" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding BiasMatchC1,StringFormat='F1'}" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding BiasMatchC2,StringFormat='F1'}" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding ChamberPressureFeedBack,StringFormat='F1'}" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="6" Grid.Column="1" Text="{Binding PendulumValvePosition}" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="7" Grid.Column="1" Text="{Binding MFC1Data.FeedBack,StringFormat='F1'}" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="8" Grid.Column="1" Text="{Binding MFC2Data.FeedBack,StringFormat='F1'}" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="9" Grid.Column="1" Text="{Binding MFC3Data.FeedBack,StringFormat='F1'}" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="10" Grid.Column="1" Text="{Binding MFC4Data.FeedBack,StringFormat='F1'}" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="11" Grid.Column="1" Text="{Binding MFC5Data.FeedBack,StringFormat='F1'}" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="12" Grid.Column="1" Text="{Binding MFC6Data.FeedBack,StringFormat='F1'}" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="13" Grid.Column="1" Text="{Binding HighTemperatureHeaterData.HighTemperatureHeaterPosition}" Background="#D0D8E8" TextBlock.TextAlignment="Center" Block.TextAlignment="Center" Padding="0,5,0,0"/> <TextBlock Grid.Row="14" Grid.Column="1" Text="{Binding SRFData.ReflectPower}" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="15" Grid.Column="1" Text="{Binding BiasMatchC1,StringFormat='F1'}" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="1" Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[1].RFPower}" Background="#D0D8E8" TextBlock.TextAlignment="Center" Block.TextAlignment="Center" Padding="0,6,0,0"/> <TextBlock Grid.Row="2" Grid.Column="2" Text="N/A" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="3" Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[2].BiasTuneCapPreset}" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="4" Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[2].BiasLoadCapPreset}" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,5,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="5" Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[0].StartPressure}" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="6" Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[0].ValvePositionPreset}" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="7" Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas1}" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="8" Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas2}" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="9" Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas3}" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="10" Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas4}" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="11" Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas5}" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="12" Grid.Column="2" Text="{Binding CurrentRecipeStep.LstUnit[3].Gas6}" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="10" Grid.Column="2" Text="" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="11" Grid.Column="2" Text="" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="13" Grid.Column="2" Text="" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="14" Grid.Column="2" Text="" Background="#E9EDF4" TextBlock.TextAlignment="Center" Block.TextAlignment="Center" Padding="0,6,0,0"/> <TextBlock Grid.Row="15" Grid.Column="2" Text="" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="1" Grid.Column="3" Text="W" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="2" Grid.Column="3" Text="W" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="3" Grid.Column="3" Text="%" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="4" Grid.Column="3" Text="%" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="5" Grid.Column="3" Text="mTorr" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="6" Grid.Column="3" Text="‰" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="7" Grid.Column="3" Text="sccm" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="8" Grid.Column="3" Text="sccm" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="9" Grid.Column="3" Text="sccm" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="10" Grid.Column="3" Text="sccm" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="11" Grid.Column="3" Text="sccm" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="12" Grid.Column="3" Text="sccm" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="13" Grid.Column="3" Text="N/A" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="14" Grid.Column="3" Text="°C" Background="#E9EDF4" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/> <TextBlock Grid.Row="15" Grid.Column="3" Text="sccm" Background="#D0D8E8" TextBlock.TextAlignment="Center" Padding="0,6,0,0" Block.TextAlignment="Center"/> </Grid> </Canvas> <Grid Width="360" Height="190" Canvas.Left="1350" Canvas.Top="45" unity:GridOptions.LineBrush="#afb4db" unity:GridOptions.ShowBorder="True" Background="#E9EDF4"> <Grid.RowDefinitions> <RowDefinition/> <RowDefinition/> <RowDefinition/> <RowDefinition/> <RowDefinition/> <RowDefinition/> <RowDefinition/> <RowDefinition/> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="2*"/> <ColumnDefinition Width="3*"/> </Grid.ColumnDefinitions> <TextBlock Grid.Row="0" Text="Recipe Name" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/> <TextBlock Grid.Row="1" Text="Step Num/All" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/> <TextBlock Grid.Row="2" Text="Step Type" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/> <TextBlock Grid.Row="3" Text="Step Description" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/> <TextBlock Grid.Row="4" Text="Step Elpased Time" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/> <TextBlock Grid.Row="5" Text="Step Time(s)" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/> <TextBlock Grid.Row="6" Text="Next Step" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/> <TextBlock Grid.Row="7" Text="Cycle Num/All" FontSize="15" Padding="10,2,0,0" Background="#D0D8E8"/> <TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeName}" FontSize="15" Padding="10,2,0,0" Background="#E9EDF4"/> <TextBlock Grid.Row="1" Grid.Column="1" FontSize="15" Padding="10,2,0,0" Background="#E9EDF4"> <TextBlock.Text> <MultiBinding StringFormat="{}{0}/{1}"> <Binding Path="CurrentRecipeResult.RecipeStepNumber"></Binding> <Binding Path="CurrentRecipeResult.RecipeStepCount"></Binding> </MultiBinding> </TextBlock.Text> </TextBlock> <TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeStepType}" FontSize="15" Padding="10,2,0,0"/> <TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeStepDescription}" FontSize="15" Padding="10,2,0,0"/> <TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeStepDuringTime, StringFormat=hh\\:mm\\:ss}" FontSize="15" Padding="10,2,0,0"/> <TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding CurrentRecipeResult.RecipeStepSetTime}" FontSize="15" Padding="10,2,0,0"/> <customControls:PathButton Grid.Row="6" Grid.Column="1" BorderThickness="0" PathData="{StaticResource Icon_Next}" Background="Transparent" DefaultFillBrush="Black" Foreground="White" Cursor="Hand" Visibility="{Binding IsProcessing,Converter={StaticResource BoolToVisibility2}}" Command="{Binding EndStepCommand}" Margin="15,0,0,0" HorizontalAlignment="Left"/> <TextBlock Grid.Row="7" Grid.Column="1" FontSize="15" Padding="10,2,0,0" Background="#E9EDF4"> <TextBlock.Text> <MultiBinding StringFormat="{}{0}/{1}"> <Binding Path="CurrentRecipeResult.RecipeCurrentCounter"></Binding> <Binding Path="CurrentRecipeResult.RecipeAllCounters"></Binding> </MultiBinding> </TextBlock.Text> </TextBlock> </Grid> <Grid Width="300" Height="160" Canvas.Left="500" Canvas.Top="402" Background="#E8E8E8" unity:GridOptions.LineBrush="#afb4db" unity:GridOptions.ShowBorder="True"> <Grid.RowDefinitions> <RowDefinition/> <RowDefinition/> <RowDefinition/> <RowDefinition/> <RowDefinition/> <RowDefinition/> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="2*"/> <ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <TextBlock Text="RF" Grid.ColumnSpan="3" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Center"/> <TextBlock Grid.Row="1" Text="RF Fwd Power(W)" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="10,0,0,0"/> <TextBlock Grid.Row="2" Text="RF Ref Power(W)" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="10,0,0,0"/> <TextBlock Grid.Row="3" Text="Match C1(%)" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="10,0,0,0"/> <TextBlock Grid.Row="4" Text="Match C2(%)" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="10,0,0,0"/> <TextBlock Grid.Row="5" Text="Match WorkMode" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="10,0,0,0"/> <TextBox Grid.Row="1" Grid.Column="1" Width="Auto" Height="Auto" Text="{Binding SRFFwdPowerSetpoint,UpdateSourceTrigger=PropertyChanged}" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderThickness="0" /> <TextBlock Grid.Row="2" Grid.Column="1" Width="Auto" Height="Auto" Text="{Binding SRFData.ReflectPower,StringFormat='F1'}" Background="#E8E8E8" TextBlock.TextAlignment="Center" VerticalAlignment="Center" Block.TextAlignment="Center" Grid.ColumnSpan="2"/> <TextBox Grid.Row="3" Grid.Column="1" Width="Auto" Height="Auto" Text="{Binding SRFMatchC1,UpdateSourceTrigger=PropertyChanged}" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderThickness="0" /> <TextBox Grid.Row="4" Grid.Column="1" Width="Auto" Height="Auto" Text="{Binding SRFMatchC2,UpdateSourceTrigger=PropertyChanged}" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderThickness="0" /> <TextBlock Grid.Row="1" Grid.Column="2" Width="Auto" Height="Auto" Text="{Binding SRFData.ForwardPower,StringFormat='F1'}" Background="#E8E8E8" TextBlock.TextAlignment="Center" VerticalAlignment="Center" Block.TextAlignment="Center"/> <!--<TextBlock Grid.Row="2" Grid.Column="2" Width="Auto" Height="Auto" Text="0.0" Background="#E8E8E8" TextBlock.TextAlignment="Center" VerticalAlignment="Center" Block.TextAlignment="Center"/>--> <TextBlock Grid.Row="3" Grid.Column="2" Width="Auto" Height="Auto" Text="{Binding MatchC1,StringFormat='F1'}" Background="#E8E8E8" TextBlock.TextAlignment="Center" VerticalAlignment="Center" Block.TextAlignment="Center"/> <TextBlock Grid.Row="4" Grid.Column="2" Width="Auto" Height="Auto" Text="{Binding MatchC2,StringFormat='F1'}" Background="#E8E8E8" TextBlock.TextAlignment="Center" VerticalAlignment="Center" Block.TextAlignment="Center"/> <TextBlock Grid.Row="5" Grid.Column="1" Grid.ColumnSpan="2" Width="Auto" Height="Auto" Text="{Binding MatchWorkMode}" Background="#E8E8E8" TextBlock.TextAlignment="Center" VerticalAlignment="Center" Block.TextAlignment="Center"/> </Grid> <Ellipse Width="20" Height="20" Fill="{Binding SRFData.IsRfOn,Converter={StaticResource boolToColor}}" Canvas.Left="500" Canvas.Top="375" Stroke="Silver" StrokeThickness="2"/> <Button Height="20" Width="100" Content="RF ON/OFF" Canvas.Left="530" Canvas.Top="375" Command="{Binding SetSRfCommand}" Style="{StaticResource SysBtnStyle}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/> <Ellipse Width="20" Height="20" Fill="{Binding HighTemperatureHeaterData.HighTemperatureHeaterIson,Converter={StaticResource boolToColor}}" Canvas.Left="500" Canvas.Top="205" Stroke="Silver" StrokeThickness="2"/> <Button Height="20" Width="100" Content="Heater ON/OFF" Canvas.Left="530" Canvas.Top="205" Style="{StaticResource SysBtnStyle}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Command="{Binding SwitchHighTemperatureHeaterCommand}"/> <Grid Width="390" Height="120" Background="#E8E8E8" unity:GridOptions.LineBrush="#afb4db" unity:GridOptions.ShowBorder="True" Canvas.Left="500" Canvas.Top="238"> <Grid.RowDefinitions> <RowDefinition/> <RowDefinition/> <RowDefinition/> <RowDefinition/> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="166"/> <ColumnDefinition Width="3*"/> <ColumnDefinition Width="2*"/> <ColumnDefinition Width="2*"/> </Grid.ColumnDefinitions> <TextBlock Grid.Row="0" Text="Heater Temp.(°C)" FontSize="14" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="4,0,0,0"/> <TextBox Grid.Row="0" Grid.Column="1" Width="Auto" Height="Auto" Text="{Binding HighTemperatureHeaterTemperatureSetpoint,UpdateSourceTrigger=PropertyChanged}" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderBrush="White" BorderThickness="0" /> <TextBlock Grid.Row="0" Grid.Column="2" Text="{Binding HighTemperatureHeaterData.HighTemperatureHeaterTemperature,StringFormat='F1'}" FontSize="15" TextBlock.TextAlignment="Center" VerticalAlignment="Center" Block.TextAlignment="Center" /> <Button Grid.Row="0" Grid.Column="3" Margin="5,0,5,0" Height="20" Style="{x:Null}" Content="Set" Command="{Binding SetChillerTempCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Cursor="Hand"/> <TextBlock Grid.Row="1" Text="Heater Ratio" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="4,0,0,0"/> <TextBox Grid.Row="1" Grid.Column="1" Width="Auto" Height="Auto" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderBrush="White" BorderThickness="0" /> <TextBlock Grid.Row="1" Grid.Column="2" Text="{Binding HighTemperatureHeaterData.HighTemperatureHeaterTemperature,StringFormat='F1'}" FontSize="15" TextBlock.TextAlignment="Center" VerticalAlignment="Center" Block.TextAlignment="Center" /> <Button Grid.Row="1" Grid.Column="3" Margin="5,0,5,0" Height="20" Style="{x:Null}" Content="Set" Command="{Binding SetChillerTempCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Cursor="Hand"/> <TextBlock Grid.Row="2" Text="Heater Rate(Inner/Outer)" FontSize="14" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="4,0,0,0"/> <TextBox Grid.Row="2" Grid.Column="1" Width="Auto" Height="Auto" Text="{Binding HighTemperatureHeaterRateSetpoint,UpdateSourceTrigger=PropertyChanged}" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderBrush="White" BorderThickness="0" /> <TextBlock Grid.Row="2" Grid.Column="2" Text="{Binding HighTemperatureHeaterData.HighTemperatureHeaterRate}" FontSize="15" TextBlock.TextAlignment="Center" VerticalAlignment="Center" Block.TextAlignment="Center" /> <Button Grid.Row="2" Grid.Column="3" Margin="5,0,5,0" Height="20" Style="{x:Null}" Content="Set" Command="{Binding SetHeaterRateCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Cursor="Hand"/> <TextBlock Grid.Row="3" Text="Heater Position" VerticalAlignment="Center" HorizontalAlignment="Left" Padding="4,0,0,0" FontSize="14"/> <ComboBox Grid.Row="3" Grid.Column="1" SelectedIndex="0" Height="25" Margin="1,2,0,2" SelectedValue="{Binding SelectedPosition}"> <ComboBoxItem>Origin</ComboBoxItem> <ComboBoxItem>Position1</ComboBoxItem> <ComboBoxItem>Position2</ComboBoxItem> <ComboBoxItem>Position3</ComboBoxItem> <ComboBoxItem>Position4</ComboBoxItem> <ComboBoxItem>Position5</ComboBoxItem> </ComboBox> <TextBlock Grid.Row="3" Grid.Column="2" Text="{Binding HighTemperatureHeaterData.HighTemperatureHeaterPosition}" TextBlock.TextAlignment="Center" VerticalAlignment="Center" Block.TextAlignment="Center"/> <Button Grid.Row="3" Grid.Column="3" Margin="5,0,5,0" Height="20" Content="Set" Style="{x:Null}" Cursor="Hand" Command="{Binding GotoPositionCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/> </Grid> <Border BorderThickness="0,0,0,1" BorderBrush="Black" Canvas.Top="20" Canvas.Left="40"> <StackPanel Orientation="Horizontal" Margin="0,0,0,5"> <customControls:PathButton PathData="{StaticResource Icon_Home}" DefaultFillBrush="White" Command="{Binding PMInitCommnad}" Width="120" Height="30" Content="Initialize" Margin="10,0,0,0"/> <!--<customControls:PathButton PathData="{StaticResource Icon_Abort}" DefaultFillBrush="White" Command="{Binding PMAbortCommnad}" Width="120" Height="30" Content="Abort" Margin="50,0,30,0"/>--> <!--<customControls:AduRadioButtonIcon Content="MF" IsChecked="{Binding IsAutoMode,Converter={StaticResource BoolToBool},Mode=TwoWay}" Height="40" attach:IconElement.Margin="-20" /> <Border BorderThickness="1" Height="30" Width="2" BorderBrush="Black" Margin="10,0,0,0"> <Border.RenderTransform> <RotateTransform Angle="15" CenterX="1" CenterY="15"></RotateTransform> </Border.RenderTransform> </Border> <customControls:AduRadioButtonIcon Content="AF" IsChecked="{Binding IsAutoMode,Mode=TwoWay}" Margin="-10,0,30,0" Height="40" attach:IconElement.Margin="-20" />--> <customControls:SplitButton Width="120" Height="30" Content="Abort" Margin="50,0,30,0" Style="{StaticResource SplitButtonStyle}" Command="{Binding PMAbortCommnad}" Cursor="Hand" Foreground="White" FontSize="18" Background="#009ad6"> <MenuItem Header="Stop Recipe" Cursor="Hand" Command="{Binding AbortRecipeCommnad}" CommandParameter="0"/> <!--<MenuItem Header="Stop Recipe/Stop Dechuck Step" Cursor="Hand" Command="{Binding AbortRecipeCommnad}" CommandParameter="1"/>--> <MenuItem Header="Stop Recipe=>Return Wafer To Foup" Cursor="Hand" Command="{Binding AbortRecipeCommnad}" CommandParameter="2"/> </customControls:SplitButton> <RadioButton Content="OffLine" Width="120" Height="28" Margin="0 0 5 0" Style="{StaticResource Button_RadioButton}" IsChecked="{Binding IsAutoMode,Converter={StaticResource BoolToBool},Mode=TwoWay}" FontSize="15" Command="{Binding OfflineCommand}"/> <RadioButton Content="OnLine" Width="120" Height="28" Margin="0 0 30 0" Style="{StaticResource Button_RadioButton}" IsChecked="{Binding IsAutoMode,Mode=TwoWay}" FontSize="15" Command="{Binding OnlineCommand}"/> <customControls:PathButton Width="130" Height="30" Content="Vent" Command="{Binding VentCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" /> <customControls:PathButton Width="134" Height="30" Content="Pump Purge" Command="{Binding PurgeCommand}" Margin="50,0,0,0" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/> <customControls:PathButton Width="134" Height="30" Content="Pump Down" Command="{Binding PumpCommand}" Margin="50,0,0,0" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/> </StackPanel> </Border> </Canvas> </UserControl>