KeplerGasLeakCheckView.xaml 101 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201
  1. <UserControl x:Class="Venus_MainPages.Views.KeplerGasLeakCheckView"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:local="clr-namespace:Venus_MainPages.Views"
  7. mc:Ignorable="d"
  8. xmlns:prism="http://prismlibrary.com/"
  9. prism:ViewModelLocator.AutoWireViewModel="True"
  10. xmlns:ctrls="clr-namespace:Venus_Themes.UserControls;assembly=Venus_Themes"
  11. xmlns:unity="clr-namespace:Venus_MainPages.Unity"
  12. xmlns:converters="clr-namespace:Venus_Themes.Converters;assembly=Venus_Themes"
  13. xmlns:converters2="clr-namespace:Venus_MainPages.Converters"
  14. xmlns:customControls="clr-namespace:Venus_Themes.CustomControls;assembly=Venus_Themes"
  15. xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
  16. d:DesignHeight="1080" d:DesignWidth="1920">
  17. <i:Interaction.Triggers>
  18. <i:EventTrigger EventName="Loaded">
  19. <i:InvokeCommandAction Command="{Binding LoadedCommand}"/>
  20. </i:EventTrigger>
  21. </i:Interaction.Triggers>
  22. <UserControl.Resources>
  23. <LinearGradientBrush x:Key="buttonBrush" StartPoint="0.5,0" EndPoint="0.5,1">
  24. <GradientStop Color="White" Offset="0.0" />
  25. <GradientStop Color="Gray" Offset="0.1" />
  26. <GradientStop Color="White" Offset="1" />
  27. </LinearGradientBrush>
  28. <!--<converters:IntToIsEnableConverter x:Key="intToIsEnableConverter"/>-->
  29. <!--<converters:ToBoolMultiValueConverter x:Key="toBoolMultiValueConverter"/>
  30. <converters:ToBoolMultiValueConverter2 x:Key="toBoolMultiValueConverter2"/>
  31. <converters:ToBoolMultiValueConverter3 x:Key="toBoolMultiValueConverter3"/>
  32. <converters:ToBoolMultiValueConverter4 x:Key="toBoolMultiValueConverter4"/>
  33. <converters:ToBoolMultiValueConverter5 x:Key="toBoolMultiValueConverter5"/>
  34. <converters:ToBoolMultiValueConverter7 x:Key="toBoolMultiValueConverter7"/>
  35. <converters:ToBoolMultiValueConverter9 x:Key="toBoolMultiValueConverter9"/>
  36. <converters:BoolToColor x:Key="boolToColor"/>
  37. <converters:BoolToColor2 x:Key="boolToColor2"/>
  38. <converters:BoolToColor3 x:Key="boolToColor3"/>
  39. <converters:BoolToColor4 x:Key="boolToColor4"/>
  40. <converters:BoolToColor5 x:Key="boolToColor5"/>
  41. <converters:BoolToBool x:Key="BoolToBool"/>
  42. <converters:IntToBoolConverter x:Key="converters:IntToBoolConverter"/>
  43. <converters:IntToBoolConverter2 x:Key="converters:IntToBoolConverter2"/>
  44. <converters:BoolToVisibility x:Key="BoolToVisibility"/>
  45. <converters:BoolToVisibility2 x:Key="BoolToVisibility2"/>-->
  46. <converters2:AllNoneCheckboxConverter x:Key="AllNoneCheckboxConverter"/>
  47. <converters2:BoolToHeightConverter x:Key="BoolToHeightConverter"/>
  48. </UserControl.Resources>
  49. <Grid>
  50. <Grid.ColumnDefinitions>
  51. <ColumnDefinition Width="3*"/>
  52. <ColumnDefinition/>
  53. </Grid.ColumnDefinitions>
  54. <Canvas>
  55. <Canvas Canvas.Top="-90">
  56. <Canvas Canvas.Top="40" Canvas.Left="5">
  57. <ctrls:Pipe2 Canvas.Left="490" Canvas.Top="558" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="90" Visibility="{Binding MFC7IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  58. <!--N2-->
  59. <ctrls:FlowPipe Name="N2Pipe2" Height="8" Width="76" Canvas.Left="255" Canvas.Top="120" IsFlowing="{Binding PVN22ValveIsOpen}">
  60. <!--<ctrls:FlowPipe.IsFlowing>
  61. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter}">
  62. <Binding Path="PVN22ValveIsOpen"/>
  63. <Binding Path="N2ValveIsOpen"/>
  64. </MultiBinding>
  65. </ctrls:FlowPipe.IsFlowing>-->
  66. </ctrls:FlowPipe>
  67. <ctrls:FlowPipe Name="N2Pipe3" Height="8" Width="154" Canvas.Left="330" Canvas.Top="120" IsFlowing="{Binding N2ValveIsOpen}">
  68. <!--<ctrls:FlowPipe.IsFlowing>
  69. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter}">
  70. <Binding Path="PVN22ValveIsOpen"/>
  71. <Binding Path="N2ValveIsOpen"/>
  72. </MultiBinding>
  73. </ctrls:FlowPipe.IsFlowing>-->
  74. </ctrls:FlowPipe>
  75. <TextBlock Text="GPVN2" Canvas.Left="422" Canvas.Top="95" FontSize="14"/>
  76. <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}}"/>
  77. <ctrls:FlowPipe x:Name="N2Pipe1" Height="8" Width="193" Canvas.Left="64" Canvas.Top="120" IsFlowing="{Binding PVN22ValveIsOpen}">
  78. <!--<ctrls:FlowPipe.IsFlowing>
  79. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter}">
  80. <Binding Path="PVN22ValveIsOpen"/>
  81. <Binding Path="N2ValveIsOpen"/>
  82. </MultiBinding>
  83. </ctrls:FlowPipe.IsFlowing>-->
  84. </ctrls:FlowPipe>
  85. <TextBlock Text="GPVN22" Canvas.Left="270" Canvas.Top="95" FontSize="14"/>
  86. <customControls:CommonValveControl Status="{Binding PVN22ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="285" Canvas.Top="114" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="1" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  87. <ctrls:FlowPipe Height="8" Width="309" Canvas.Left="176" Canvas.Top="230" IsFlowing="{Binding MFC1ValveIsOpen}" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  88. <TextBlock Text="GPV1" Canvas.Left="430" Canvas.Top="208" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  89. <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}}" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  90. <ctrls:FlowPipe Height="8" Width="114" Canvas.Left="64" Canvas.Top="230" IsFlowing="{Binding PV11ValveIsOpen}" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  91. <ctrls:FlowPipe Height="8" Width="80" Canvas.Left="177" Canvas.Top="266" IsFlowing="{Binding PV12ValveIsOpen}" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  92. <!--<ctrls:Pipe2 Canvas.Left="214" Canvas.Top="274" RotateTransformValue="-180"/>-->
  93. <ctrls:FlowPipe Height="8" Width="30" Canvas.Left="178" Canvas.Top="236" RotateTransformValue="90" IsFlowing="{Binding PV12ValveIsOpen}" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  94. <ctrls:Pipe2 Canvas.Left="183" Canvas.Top="274" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  95. <ctrls:Pipe4 Canvas.Left="241" Canvas.Top="225" HorizontalAlignment="Left" VerticalAlignment="Top"/>
  96. <ctrls:FlowPipe Height="8" Width="55" Canvas.Left="257" Canvas.Top="126" RotateTransformValue="90" IsReverse="True">
  97. <ctrls:FlowPipe.IsFlowing>
  98. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  99. <Binding Path="PV12ValveIsOpen"/>
  100. <Binding Path="PV22ValveIsOpen"/>
  101. <Binding Path="PV32ValveIsOpen"/>
  102. <Binding Path="PV42ValveIsOpen"/>
  103. </MultiBinding>
  104. </ctrls:FlowPipe.IsFlowing>
  105. </ctrls:FlowPipe>
  106. <ctrls:FlowPipe Height="8" Width="190" Canvas.Left="64" Canvas.Top="180" IsFlowing="{Binding N2Purge2ValveIsOpen}" IsReverse="True">
  107. </ctrls:FlowPipe>
  108. <customControls:CommonValveControl Status="{Binding N2Purge2ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="127" Canvas.Top="174" Tag="58" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  109. <TextBlock Text="To Dry Pump" Canvas.Top="155" FontSize="14"/>
  110. <TextBlock Text="GPV13" Canvas.Top="155" FontSize="14" Canvas.Left="115"/>
  111. <Image Canvas.Left="40" Canvas.Top="197" Width="40" Height="25" Source="Pack://application:,,,/Venus_Themes;Component/Resources/Arrow.png" Stretch="Uniform">
  112. <Image.RenderTransform>
  113. <RotateTransform Angle="180"/>
  114. </Image.RenderTransform>
  115. </Image>
  116. <ctrls:FlowPipe Height="8" Width="46" Canvas.Left="257" Canvas.Top="180" RotateTransformValue="90" IsReverse="True">
  117. <ctrls:FlowPipe.IsFlowing>
  118. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  119. <Binding Path="PV12ValveIsOpen"/>
  120. <Binding Path="PV22ValveIsOpen"/>
  121. <Binding Path="PV32ValveIsOpen"/>
  122. <Binding Path="PV42ValveIsOpen"/>
  123. </MultiBinding>
  124. </ctrls:FlowPipe.IsFlowing>
  125. </ctrls:FlowPipe>
  126. <ctrls:FlowPipe Height="8" Width="28" Canvas.Left="257" Canvas.Top="242" RotateTransformValue="90" IsReverse="True">
  127. <ctrls:FlowPipe.IsFlowing>
  128. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  129. <Binding Path="PV12ValveIsOpen"/>
  130. <Binding Path="PV22ValveIsOpen"/>
  131. <Binding Path="PV32ValveIsOpen"/>
  132. <Binding Path="PV42ValveIsOpen"/>
  133. </MultiBinding>
  134. </ctrls:FlowPipe.IsFlowing>
  135. </ctrls:FlowPipe>
  136. <!--SF6-->
  137. <ctrls:FlowPipe Height="8" Width="311" Canvas.Left="174" Canvas.Top="286" IsFlowing="{Binding MFC2ValveIsOpen}" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  138. <TextBlock Text="GPV2" Canvas.Left="430" Canvas.Top="264" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  139. <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}}" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  140. <ctrls:FlowPipe Height="8" Width="112" Canvas.Left="64" Canvas.Top="286" IsFlowing="{Binding PV21ValveIsOpen}" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  141. <ctrls:FlowPipe Height="8" Width="80" Canvas.Left="177" Canvas.Top="322" IsFlowing="{Binding PV22ValveIsOpen}" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  142. <ctrls:FlowPipe Height="8" Width="32" Canvas.Left="178" Canvas.Top="290" RotateTransformValue="90" IsFlowing="{Binding PV22ValveIsOpen}" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  143. <ctrls:Pipe2 Canvas.Left="183" Canvas.Top="330" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  144. <ctrls:Pipe4 Canvas.Left="241" Canvas.Top="281" HorizontalAlignment="Left" VerticalAlignment="Top"/>
  145. <ctrls:FlowPipe Height="8" Width="15" Canvas.Left="257" Canvas.Top="270" RotateTransformValue="90" IsReverse="True">
  146. <ctrls:FlowPipe.IsFlowing>
  147. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  148. <Binding Path="PV22ValveIsOpen"/>
  149. <Binding Path="PV32ValveIsOpen"/>
  150. <Binding Path="PV42ValveIsOpen"/>
  151. </MultiBinding>
  152. </ctrls:FlowPipe.IsFlowing>
  153. </ctrls:FlowPipe>
  154. <ctrls:FlowPipe Height="8" Width="30" Canvas.Left="257" Canvas.Top="296" RotateTransformValue="90" IsReverse="True" >
  155. <ctrls:FlowPipe.IsFlowing>
  156. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  157. <Binding Path="PV22ValveIsOpen"/>
  158. <Binding Path="PV32ValveIsOpen"/>
  159. <Binding Path="PV42ValveIsOpen"/>
  160. </MultiBinding>
  161. </ctrls:FlowPipe.IsFlowing>
  162. </ctrls:FlowPipe>
  163. <!--Gas3-->
  164. <ctrls:FlowPipe Height="8" Width="311" Canvas.Left="174" Canvas.Top="342" IsFlowing="{Binding MFC3ValveIsOpen}" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  165. <TextBlock Text="GPV3" Canvas.Left="430" Canvas.Top="320" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  166. <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}}" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  167. <ctrls:FlowPipe Height="8" Width="112" Canvas.Left="64" Canvas.Top="342" IsFlowing="{Binding PV31ValveIsOpen}" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  168. <ctrls:FlowPipe Height="8" Width="80" Canvas.Left="177" Canvas.Top="378" IsFlowing="{Binding PV32ValveIsOpen}" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  169. <ctrls:FlowPipe Height="8" Width="30" Canvas.Left="178" Canvas.Top="348" RotateTransformValue="90" IsFlowing="{Binding PV32ValveIsOpen}" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  170. <ctrls:Pipe2 Canvas.Left="183" Canvas.Top="386" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  171. <ctrls:Pipe4 Canvas.Left="241" Canvas.Top="337" HorizontalAlignment="Left" VerticalAlignment="Top"/>
  172. <ctrls:FlowPipe Height="8" Width="17" Canvas.Left="257" Canvas.Top="324" RotateTransformValue="90" IsReverse="True" >
  173. <ctrls:FlowPipe.IsFlowing>
  174. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  175. <Binding Path="PV32ValveIsOpen"/>
  176. <Binding Path="PV42ValveIsOpen"/>
  177. </MultiBinding>
  178. </ctrls:FlowPipe.IsFlowing>
  179. </ctrls:FlowPipe>
  180. <ctrls:FlowPipe Height="8" Width="28" Canvas.Left="257" Canvas.Top="354" RotateTransformValue="90" IsReverse="True" >
  181. <ctrls:FlowPipe.IsFlowing>
  182. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  183. <Binding Path="PV32ValveIsOpen"/>
  184. <Binding Path="PV42ValveIsOpen"/>
  185. </MultiBinding>
  186. </ctrls:FlowPipe.IsFlowing>
  187. </ctrls:FlowPipe>
  188. <!--Gas4-->
  189. <ctrls:FlowPipe Height="8" Width="112" Canvas.Left="64" Canvas.Top="396" IsFlowing="{Binding PV41ValveIsOpen}"/>
  190. <ctrls:FlowPipe Height="8" Width="76" Canvas.Left="175" Canvas.Top="428" IsFlowing="{Binding PV42ValveIsOpen}"/>
  191. <ctrls:FlowPipe Height="8" Width="311" Canvas.Left="174" Canvas.Top="396" IsFlowing="{Binding MFC4ValveIsOpen}"/>
  192. <TextBlock Text="GPV4" Canvas.Left="430" Canvas.Top="374" FontSize="14"/>
  193. <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}}"/>
  194. <ctrls:Pipe4 Canvas.Left="241" Canvas.Top="392" HorizontalAlignment="Left" VerticalAlignment="Top"/>
  195. <ctrls:FlowPipe Height="8" Width="15" Canvas.Left="257" Canvas.Top="380" RotateTransformValue="90" IsReverse="True">
  196. <ctrls:FlowPipe.IsFlowing>
  197. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  198. <Binding Path="PV42ValveIsOpen"/>
  199. </MultiBinding>
  200. </ctrls:FlowPipe.IsFlowing>
  201. </ctrls:FlowPipe>
  202. <ctrls:FlowPipe Height="8" Width="15" Canvas.Left="257" Canvas.Top="408" RotateTransformValue="90" IsReverse="True">
  203. <ctrls:FlowPipe.IsFlowing>
  204. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  205. <Binding Path="PV42ValveIsOpen"/>
  206. </MultiBinding>
  207. </ctrls:FlowPipe.IsFlowing>
  208. </ctrls:FlowPipe>
  209. <ctrls:Pipe2 Canvas.Left="257" Canvas.Top="423" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="90" />
  210. <ctrls:FlowPipe Height="8" Width="30" Canvas.Left="178" Canvas.Top="401" RotateTransformValue="90" IsFlowing="{Binding PV42ValveIsOpen}"/>
  211. <ctrls:Pipe2 Canvas.Left="183" Canvas.Top="436" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" />
  212. <!--Gas5-->
  213. <ctrls:FlowPipe Height="8" Width="421" Canvas.Left="64" Canvas.Top="452" IsFlowing="{Binding MFC5ValveIsOpen}"/>
  214. <TextBlock Text="GPV5" Canvas.Left="430" Canvas.Top="430" FontSize="14"/>
  215. <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}}"/>
  216. <!--O2-->
  217. <ctrls:FlowPipe Height="8" Width="422" Canvas.Left="65" Canvas.Top="507" IsFlowing="{Binding MFC6ValveIsOpen}"/>
  218. <TextBlock Text="GPV6" Canvas.Left="430" Canvas.Top="485" FontSize="14"/>
  219. <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}}"/>
  220. <!--Gas7-->
  221. <ctrls:FlowPipe Height="8" Width="418" Canvas.Left="65" Canvas.Top="563" IsFlowing="{Binding MFC7ValveIsOpen}" Visibility="{Binding MFC7IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  222. <TextBlock Text="GPV7" Canvas.Left="430" Canvas.Top="541" Visibility="{Binding MFC7IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  223. <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}}" Visibility="{Binding MFC7IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  224. <!--Gas8-->
  225. <ctrls:FlowPipe Height="8" Width="448" Canvas.Left="68" Canvas.Top="620" IsFlowing="{Binding MFC8ValveIsOpen}" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  226. <ctrls:FlowPipe Height="8" Width="460" Canvas.Left="520" Canvas.Top="165" RotateTransformValue="90" IsReverse="True" IsFlowing="{Binding MFC8ValveIsOpen}" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  227. <ctrls:FlowPipe Height="8" Width="298" Canvas.Left="515" Canvas.Top="160" IsFlowing="{Binding O2ValveIsOpen}" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}" >
  228. </ctrls:FlowPipe>
  229. <ctrls:FlowPipe Height="8" Width="36" Canvas.Left="815" Canvas.Top="125" RotateTransformValue="90" IsReverse="True" IsFlowing="{Binding O2ValveIsOpen}" Panel.ZIndex="100" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}">
  230. </ctrls:FlowPipe>
  231. <ctrls:Pipe2 Canvas.Left="520" Canvas.Top="615" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="90" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  232. <ctrls:Pipe2 Canvas.Left="512" Canvas.Top="173" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  233. <ctrls:Pipe2 Canvas.Left="815" Canvas.Top="155" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="90" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  234. <TextBlock Text="GPV8" Canvas.Left="430" Canvas.Top="598" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  235. <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}}" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  236. <Ellipse Width="18" Height="18" Canvas.Left="90" Canvas.Top="116" Fill="{Binding MFCN2Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0" ToolTip="Pressure Alarm"></Ellipse>
  237. <!--<Ellipse Width="18" Height="18" Canvas.Left="90" Canvas.Top="174" Fill="{Binding MFCN2Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0" ToolTip="Pressure Alarm"></Ellipse>-->
  238. <Ellipse Width="18" Height="18" Canvas.Left="90" Canvas.Top="226" Fill="{Binding MFC1Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0" ToolTip="Pressure Alarm" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}"></Ellipse>
  239. <Ellipse Width="18" Height="18" Canvas.Left="90" Canvas.Top="282" Fill="{Binding MFC2Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0" ToolTip="Pressure Alarm" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}"></Ellipse>
  240. <Ellipse Width="18" Height="18" Canvas.Left="90" Canvas.Top="338" Fill="{Binding MFC3Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0" ToolTip="Pressure Alarm" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}"></Ellipse>
  241. <Ellipse Width="18" Height="18" Canvas.Left="90" Canvas.Top="392" Fill="{Binding MFC4Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0" ToolTip="Pressure Alarm" Visibility="{Binding MFC4IsEnable,Converter={StaticResource BoolToVisibility2}}"></Ellipse>
  242. <Ellipse Width="18" Height="18" Canvas.Left="90" Canvas.Top="448" Fill="{Binding MFC5Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0" ToolTip="Pressure Alarm" Visibility="{Binding MFC5IsEnable,Converter={StaticResource BoolToVisibility2}}"></Ellipse>
  243. <Ellipse Width="18" Height="18" Canvas.Left="90" Canvas.Top="503" Fill="{Binding MFC6Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0" ToolTip="Pressure Alarm" Visibility="{Binding MFC6IsEnable,Converter={StaticResource BoolToVisibility2}}"></Ellipse>
  244. <Ellipse Width="18" Height="18" Canvas.Left="90" Canvas.Top="559" Fill="{Binding MFC7Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0" ToolTip="Pressure Alarm" Visibility="{Binding MFC7IsEnable,Converter={StaticResource BoolToVisibility2}}"></Ellipse>
  245. <Ellipse Width="18" Height="18" Canvas.Left="90" Canvas.Top="616" Fill="{Binding MFC8Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0" ToolTip="Pressure Alarm" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}"></Ellipse>
  246. <!--与chamber上方连接的管道-->
  247. <ctrls:FlowPipe Height="8" Width="330" Canvas.Left="482" Canvas.Top="120">
  248. <ctrls:FlowPipe.IsFlowing>
  249. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter5}">
  250. <Binding Path="GasFinalValveIsOpen"/>
  251. <Binding Path="PurgeValveIsOpen"/>
  252. <Binding Path="N2ValveIsOpen"/>
  253. <Binding Path="PV11ValveIsOpen"/>
  254. <Binding Path="PV21ValveIsOpen"/>
  255. <Binding Path="PV31ValveIsOpen"/>
  256. <Binding Path="PV41ValveIsOpen"/>
  257. <Binding Path="MFC5ValveIsOpen"/>
  258. <Binding Path="MFC6ValveIsOpen"/>
  259. <Binding Path="MFC7ValveIsOpen"/>
  260. </MultiBinding>
  261. </ctrls:FlowPipe.IsFlowing>
  262. </ctrls:FlowPipe>
  263. <ctrls:FlowPipe Height="8" Width="180" Canvas.Left="812" Canvas.Top="120">
  264. <ctrls:FlowPipe.IsFlowing>
  265. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter9}">
  266. <Binding Path="GasFinalValveIsOpen"/>
  267. <Binding Path="PurgeValveIsOpen"/>
  268. <Binding Path="O2ValveIsOpen"/>
  269. <Binding Path="N2ValveIsOpen"/>
  270. <Binding Path="PV11ValveIsOpen"/>
  271. <Binding Path="PV21ValveIsOpen"/>
  272. <Binding Path="PV31ValveIsOpen"/>
  273. <Binding Path="PV41ValveIsOpen"/>
  274. <Binding Path="MFC5ValveIsOpen"/>
  275. <Binding Path="MFC6ValveIsOpen"/>
  276. <Binding Path="MFC7ValveIsOpen"/>
  277. <Binding Path="MFC8ValveIsOpen"/>
  278. <Binding Path="PVN22ValveIsOpen"/>
  279. </MultiBinding>
  280. </ctrls:FlowPipe.IsFlowing>
  281. </ctrls:FlowPipe>
  282. <ctrls:FlowPipe Height="8" Width="474" Canvas.Left="332" Canvas.Top="80" IsFlowing="{Binding PurgeValveIsOpen}">
  283. <!--<ctrls:FlowPipe.IsFlowing>
  284. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter4}">
  285. <Binding Path="PurgeValveIsOpen"/>
  286. -->
  287. <!--<Binding Path="N2ValveIsOpen"/>-->
  288. <!--
  289. <Binding Path="PV11ValveIsOpen"/>
  290. <Binding Path="PV21ValveIsOpen"/>
  291. <Binding Path="PV31ValveIsOpen"/>
  292. <Binding Path="PV41ValveIsOpen"/>
  293. <Binding Path="MFC5ValveIsOpen"/>
  294. <Binding Path="MFC6ValveIsOpen"/>
  295. </MultiBinding>
  296. </ctrls:FlowPipe.IsFlowing>-->
  297. </ctrls:FlowPipe>
  298. <ctrls:FlowPipe Height="8" Width="36" Canvas.Left="815" Canvas.Top="85" RotateTransformValue="90" IsReverse="False" IsFlowing="{Binding PurgeValveIsOpen}">
  299. <!--<ctrls:FlowPipe.IsFlowing>
  300. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter4}">
  301. <Binding Path="PurgeValveIsOpen"/>
  302. -->
  303. <!--<Binding Path="N2ValveIsOpen"/>-->
  304. <!--
  305. <Binding Path="PV11ValveIsOpen"/>
  306. <Binding Path="PV21ValveIsOpen"/>
  307. <Binding Path="PV31ValveIsOpen"/>
  308. <Binding Path="PV41ValveIsOpen"/>
  309. <Binding Path="MFC5ValveIsOpen"/>
  310. <Binding Path="MFC6ValveIsOpen"/>
  311. </MultiBinding>
  312. </ctrls:FlowPipe.IsFlowing>-->
  313. </ctrls:FlowPipe>
  314. <ctrls:FlowPipe Height="8" Width="34" Canvas.Left="335" Canvas.Top="88" RotateTransformValue="90" IsReverse="True" IsFlowing="{Binding PurgeValveIsOpen}">
  315. <!--<ctrls:FlowPipe.IsFlowing>
  316. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter4}">
  317. <Binding Path="PurgeValveIsOpen"/>
  318. -->
  319. <!--<Binding Path="N2ValveIsOpen"/>-->
  320. <!--
  321. <Binding Path="PV11ValveIsOpen"/>
  322. <Binding Path="PV21ValveIsOpen"/>
  323. <Binding Path="PV31ValveIsOpen"/>
  324. <Binding Path="PV41ValveIsOpen"/>
  325. <Binding Path="MFC5ValveIsOpen"/>
  326. <Binding Path="MFC6ValveIsOpen"/>
  327. </MultiBinding>
  328. </ctrls:FlowPipe.IsFlowing>-->
  329. </ctrls:FlowPipe>
  330. <ctrls:Pipe2 Canvas.Left="802" Canvas.Top="80" HorizontalAlignment="Left" VerticalAlignment="Top" />
  331. <ctrls:Pipe2 Canvas.Left="327" Canvas.Top="93" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" />
  332. <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="54" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  333. <TextBlock Text="Purge V8" Canvas.Left="710" Canvas.Top="52" FontSize="14"/>
  334. <TextBlock Text="Gas Final V1" Canvas.Left="700" Canvas.Top="96" FontSize="14"/>
  335. <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}}"/>
  336. <TextBlock Text="O2 Valve V5" Canvas.Left="695" Canvas.Top="175" FontSize="14" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  337. <customControls:CommonValveControl Status="{Binding O2ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="728" Canvas.Top="154" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="56" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  338. <ctrls:Pipe2 Canvas.Left="990" Canvas.Top="120" HorizontalAlignment="Left" VerticalAlignment="Top" />
  339. <ctrls:FlowPipe Name="l8" Height="8" Width="112" Canvas.Left="490" Canvas.Top="126" RotateTransformValue="90" IsReverse="True">
  340. <ctrls:FlowPipe.IsFlowing>
  341. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  342. <Binding Path="MFC1ValveIsOpen"/>
  343. <Binding Path="MFC2ValveIsOpen"/>
  344. <Binding Path="MFC3ValveIsOpen"/>
  345. <Binding Path="MFC4ValveIsOpen"/>
  346. <Binding Path="MFC5ValveIsOpen"/>
  347. <Binding Path="MFC6ValveIsOpen"/>
  348. <Binding Path="MFC7ValveIsOpen"/>
  349. </MultiBinding>
  350. </ctrls:FlowPipe.IsFlowing>
  351. </ctrls:FlowPipe>
  352. <!--<ctrls:FlowPipe Height="8" Width="56" Canvas.Left="490" Canvas.Top="180" RotateTransformValue="90" IsReverse="True">
  353. <ctrls:FlowPipe.IsFlowing>
  354. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  355. <Binding Path="MFC1ValveIsOpen"/>
  356. <Binding Path="MFC2ValveIsOpen"/>
  357. <Binding Path="MFC3ValveIsOpen"/>
  358. <Binding Path="MFC4ValveIsOpen"/>
  359. <Binding Path="MFC5ValveIsOpen"/>
  360. <Binding Path="MFC6ValveIsOpen"/>
  361. <Binding Path="MFC7ValveIsOpen"/>
  362. </MultiBinding>
  363. </ctrls:FlowPipe.IsFlowing>
  364. </ctrls:FlowPipe>-->
  365. <ctrls:FlowPipe Height="8" Width="58" Canvas.Left="490" Canvas.Top="234" RotateTransformValue="90" IsReverse="True">
  366. <ctrls:FlowPipe.IsFlowing>
  367. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  368. <Binding Path="MFC2ValveIsOpen"/>
  369. <Binding Path="MFC3ValveIsOpen"/>
  370. <Binding Path="MFC4ValveIsOpen"/>
  371. <Binding Path="MFC5ValveIsOpen"/>
  372. <Binding Path="MFC6ValveIsOpen"/>
  373. <Binding Path="MFC7ValveIsOpen"/>
  374. </MultiBinding>
  375. </ctrls:FlowPipe.IsFlowing>
  376. </ctrls:FlowPipe>
  377. <ctrls:FlowPipe Height="8" Width="56" Canvas.Left="490" Canvas.Top="290" RotateTransformValue="90" IsReverse="True">
  378. <ctrls:FlowPipe.IsFlowing>
  379. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  380. <Binding Path="MFC3ValveIsOpen"/>
  381. <Binding Path="MFC4ValveIsOpen"/>
  382. <Binding Path="MFC5ValveIsOpen"/>
  383. <Binding Path="MFC6ValveIsOpen"/>
  384. <Binding Path="MFC7ValveIsOpen"/>
  385. </MultiBinding>
  386. </ctrls:FlowPipe.IsFlowing>
  387. </ctrls:FlowPipe>
  388. <ctrls:FlowPipe Height="8" Width="58" Canvas.Left="490" Canvas.Top="344" RotateTransformValue="90" IsReverse="True">
  389. <ctrls:FlowPipe.IsFlowing>
  390. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  391. <Binding Path="MFC4ValveIsOpen"/>
  392. <Binding Path="MFC5ValveIsOpen"/>
  393. <Binding Path="MFC6ValveIsOpen"/>
  394. <Binding Path="MFC7ValveIsOpen"/>
  395. </MultiBinding>
  396. </ctrls:FlowPipe.IsFlowing>
  397. </ctrls:FlowPipe>
  398. <ctrls:FlowPipe Height="8" Width="58" Canvas.Left="490" Canvas.Top="400" RotateTransformValue="90" IsReverse="True">
  399. <ctrls:FlowPipe.IsFlowing>
  400. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  401. <Binding Path="MFC5ValveIsOpen"/>
  402. <Binding Path="MFC6ValveIsOpen"/>
  403. <Binding Path="MFC7ValveIsOpen"/>
  404. </MultiBinding>
  405. </ctrls:FlowPipe.IsFlowing>
  406. </ctrls:FlowPipe>
  407. <ctrls:FlowPipe Height="8" Width="57" Canvas.Left="490" Canvas.Top="455" RotateTransformValue="90" IsReverse="True">
  408. <ctrls:FlowPipe.IsFlowing>
  409. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  410. <Binding Path="MFC6ValveIsOpen"/>
  411. <Binding Path="MFC7ValveIsOpen"/>
  412. </MultiBinding>
  413. </ctrls:FlowPipe.IsFlowing>
  414. </ctrls:FlowPipe>
  415. <ctrls:FlowPipe Height="8" Width="48" Canvas.Left="490" Canvas.Top="512" RotateTransformValue="90" IsReverse="True" IsFlowing="{Binding MFC7ValveIsOpen}" Visibility="{Binding MFC7IsEnable,Converter={StaticResource BoolToVisibility2}}">
  416. </ctrls:FlowPipe>
  417. <!--<ctrls:FlowPipe Height="8" Width="48" Canvas.Left="490" Canvas.Top="568" RotateTransformValue="90" IsReverse="True">
  418. <ctrls:FlowPipe.IsFlowing>
  419. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  420. <Binding Path="MFC8ValveIsOpen"/>
  421. </MultiBinding>
  422. </ctrls:FlowPipe.IsFlowing>
  423. </ctrls:FlowPipe>-->
  424. <ctrls:FlowPipe Height="8" Width="110" Canvas.Left="1003" Canvas.Top="129" RotateTransformValue="90">
  425. <ctrls:FlowPipe.IsFlowing>
  426. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter9}">
  427. <Binding Path="GasFinalValveIsOpen"/>
  428. <Binding Path="PurgeValveIsOpen"/>
  429. <Binding Path="O2ValveIsOpen"/>
  430. <Binding Path="N2ValveIsOpen"/>
  431. <Binding Path="PV11ValveIsOpen"/>
  432. <Binding Path="PV21ValveIsOpen"/>
  433. <Binding Path="PV31ValveIsOpen"/>
  434. <Binding Path="PV41ValveIsOpen"/>
  435. <Binding Path="MFC5ValveIsOpen"/>
  436. <Binding Path="MFC6ValveIsOpen"/>
  437. <Binding Path="MFC7ValveIsOpen"/>
  438. <Binding Path="MFC8ValveIsOpen"/>
  439. <Binding Path="PVN22ValveIsOpen"/>
  440. </MultiBinding>
  441. </ctrls:FlowPipe.IsFlowing>
  442. </ctrls:FlowPipe>
  443. <!--阀-->
  444. <TextBlock Text="GPV41" Canvas.Left="116" Canvas.Top="374" FontSize="14"/>
  445. <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}}"/>
  446. <TextBlock Text="GPV31" Canvas.Left="116" Canvas.Top="320" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  447. <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}}" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  448. <TextBlock Text="GPV21" Canvas.Left="116" Canvas.Top="266" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  449. <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}}" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}" />
  450. <TextBlock Text="GPV11" Canvas.Left="116" Canvas.Top="208" FontSize="14"/>
  451. <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}}" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  452. <TextBlock Text="GPV12" Canvas.Left="191" Canvas.Top="243" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  453. <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}}"/>
  454. <TextBlock Text="GPV22" Canvas.Left="191" Canvas.Top="300" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  455. <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}}" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  456. <TextBlock Text="GPV32" Canvas.Left="191" Canvas.Top="355" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  457. <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}}" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  458. <TextBlock Text="GPV42" Canvas.Left="191" Canvas.Top="405" FontSize="14"/>
  459. <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}}"/>
  460. <TextBlock Text="GPVN21" Canvas.Left="188" Canvas.Top="150" FontSize="14"/>
  461. <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}}"/>
  462. <!--左侧管道标签-->
  463. <ctrls:TextboxWithLabel TextBoxValue="{Binding MFC1SetPoint,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False" Canvas.Top="204" Canvas.Left="275" LabelValue="MFC1" ToolTip="{Binding MFC1Data.SetPoint,StringFormat='F1'}" TextBoxColor="White" MaxValue="{Binding MFC1Data.Scale}" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  464. <!--<TextBox Canvas.Top="205" Canvas.Left="250" Width="100" Text="{Binding MfcGas1Setpoint,Mode=TwoWay}"/>-->
  465. <ctrls:TextBlockWithLabel Canvas.Top="204" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC1Data.FeedBack,StringFormat='F1'}" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  466. <ctrls:TextboxWithLabel TextBoxValue="{Binding MFC2SetPoint,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False" Canvas.Top="259" Canvas.Left="275" LabelValue="MFC2" ToolTip="{Binding MFC2Data.SetPoint,StringFormat='F1'}" TextBoxColor="White" MaxValue="{Binding MFC2Data.Scale}" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  467. <ctrls:TextBlockWithLabel Canvas.Top="259" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC2Data.FeedBack,StringFormat='F1'}" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  468. <ctrls:TextboxWithLabel TextBoxValue="{Binding MFC3SetPoint,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False" Canvas.Top="317" Canvas.Left="275" LabelValue="MFC3" ToolTip="{Binding MFC3Data.SetPoint,StringFormat='F1'}" TextBoxColor="White" MaxValue="{Binding MFC3Data.Scale}" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  469. <ctrls:TextBlockWithLabel Canvas.Top="317" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC3Data.FeedBack,StringFormat='F1'}" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  470. <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}"/>
  471. <ctrls:TextBlockWithLabel Canvas.Top="370" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC4Data.FeedBack,StringFormat='F1'}" />
  472. <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}"/>
  473. <ctrls:TextBlockWithLabel Canvas.Top="426" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC5Data.FeedBack,StringFormat='F1'}" />
  474. <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}"/>
  475. <ctrls:TextBlockWithLabel Canvas.Top="482" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC6Data.FeedBack,StringFormat='F1'}" />
  476. <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}" Visibility="{Binding MFC7IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  477. <ctrls:TextBlockWithLabel Canvas.Top="538" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC7Data.FeedBack,StringFormat='F1'}" Visibility="{Binding MFC7IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  478. <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}" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  479. <ctrls:TextBlockWithLabel Canvas.Top="595" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC8Data.FeedBack,StringFormat='F1'}" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  480. <Ellipse Width="18" Height="18" Fill="{Binding GasIsFlowing,Converter={StaticResource boolToColor}}" Canvas.Left="360" Canvas.Top="659" Stroke="Silver" StrokeThickness="0"/>
  481. <Button Width="100" Content="Gas ON/OFF" Canvas.Left="390" Canvas.Top="660" Command="{Binding GasCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>
  482. <TextBlock FontSize="14" Text="Vent N2" Canvas.Left="0" Canvas.Top="117" Foreground="Black" Block.TextAlignment="Right" Width="50"/>
  483. <TextBlock FontSize="14" Canvas.Left="0" Canvas.Top="220" Block.TextAlignment="Left" MaxWidth="165" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}">
  484. <TextBlock.Text>
  485. <MultiBinding StringFormat="{}{0}:&#10;{1}">
  486. <Binding Path="MFC1Data.DisplayName"></Binding>
  487. <Binding Path="MFC1Data.Scale"></Binding>
  488. </MultiBinding>
  489. </TextBlock.Text>
  490. </TextBlock>
  491. <TextBlock FontSize="14" Canvas.Left="0" Canvas.Top="273" Block.TextAlignment="Left" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}">
  492. <TextBlock.Text>
  493. <MultiBinding StringFormat="{}{0}:&#10;{1}">
  494. <Binding Path="MFC2Data.DisplayName"></Binding>
  495. <Binding Path="MFC2Data.Scale"></Binding>
  496. </MultiBinding>
  497. </TextBlock.Text>
  498. </TextBlock>
  499. <TextBlock FontSize="14" Canvas.Left="0" Canvas.Top="330" Block.TextAlignment="Left" MaxWidth="165" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}">
  500. <TextBlock.Text>
  501. <MultiBinding StringFormat="{}{0}:&#10;{1}">
  502. <Binding Path="MFC3Data.DisplayName"></Binding>
  503. <Binding Path="MFC3Data.Scale"></Binding>
  504. </MultiBinding>
  505. </TextBlock.Text>
  506. </TextBlock>
  507. <TextBlock FontSize="14" Canvas.Left="0" Canvas.Top="382" Block.TextAlignment="Left" MaxWidth="165" Visibility="{Binding MFC4IsEnable,Converter={StaticResource BoolToVisibility2}}">
  508. <TextBlock.Text>
  509. <MultiBinding StringFormat="{}{0}:&#10;{1}">
  510. <Binding Path="MFC4Data.DisplayName"></Binding>
  511. <Binding Path="MFC4Data.Scale"></Binding>
  512. </MultiBinding>
  513. </TextBlock.Text>
  514. </TextBlock>
  515. <TextBlock FontSize="14" Canvas.Left="0" Canvas.Top="440" Block.TextAlignment="Left" MaxWidth="165" Visibility="{Binding MFC5IsEnable,Converter={StaticResource BoolToVisibility2}}">
  516. <TextBlock.Text>
  517. <MultiBinding StringFormat="{}{0}:&#10;{1}">
  518. <Binding Path="MFC5Data.DisplayName"></Binding>
  519. <Binding Path="MFC5Data.Scale"></Binding>
  520. </MultiBinding>
  521. </TextBlock.Text>
  522. </TextBlock>
  523. <TextBlock FontSize="14" Canvas.Left="0" Canvas.Top="496" Block.TextAlignment="Left" MaxWidth="165" Visibility="{Binding MFC6IsEnable,Converter={StaticResource BoolToVisibility2}}">
  524. <TextBlock.Text>
  525. <MultiBinding StringFormat="{}{0}:&#10;{1}">
  526. <Binding Path="MFC6Data.DisplayName"></Binding>
  527. <Binding Path="MFC6Data.Scale"></Binding>
  528. </MultiBinding>
  529. </TextBlock.Text>
  530. </TextBlock>
  531. <TextBlock FontSize="14" Canvas.Left="0" Canvas.Top="552" Block.TextAlignment="Left" MaxWidth="165" Visibility="{Binding MFC7IsEnable,Converter={StaticResource BoolToVisibility2}}">
  532. <TextBlock.Text>
  533. <MultiBinding StringFormat="{}{0}:&#10;{1}">
  534. <Binding Path="MFC7Data.DisplayName"></Binding>
  535. <Binding Path="MFC7Data.Scale"></Binding>
  536. </MultiBinding>
  537. </TextBlock.Text>
  538. </TextBlock>
  539. <TextBlock FontSize="14" Canvas.Left="0" Canvas.Top="608" Block.TextAlignment="Left" MaxWidth="165" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}">
  540. <TextBlock.Text>
  541. <MultiBinding StringFormat="{}{0}:&#10;{1}">
  542. <Binding Path="MFC8Data.DisplayName"></Binding>
  543. <Binding Path="MFC8Data.Scale"></Binding>
  544. </MultiBinding>
  545. </TextBlock.Text>
  546. </TextBlock>
  547. </Canvas >
  548. <Canvas Canvas.Left="-115" Canvas.Top="-20">
  549. <Canvas Canvas.Left="20">
  550. <ctrls:FlowPipe Height="8" Width="40" Canvas.Left="1265" Canvas.Top="658" />
  551. <ctrls:FlowPipe Height="8" Width="192" Canvas.Left="1266" Canvas.Top="446" RotateTransformValue="90" IsFlowing="{Binding TurboPumpPumpingValveIsOpen}">
  552. </ctrls:FlowPipe>
  553. <ctrls:Pump Canvas.Top="692" Canvas.Left="1240.6" Width="45" Height="40" IsOpen="{Binding PumpIsOpen,Mode=TwoWay}" >
  554. <ctrls:Pump.IsEnabled>
  555. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter}">
  556. <Binding Path="IsAutoMode" Converter="{StaticResource BoolToBool}"></Binding>
  557. <Binding Path="IsEnablePumpSwitch"></Binding>
  558. </MultiBinding>
  559. </ctrls:Pump.IsEnabled>
  560. <ctrls:Pump.ContextMenu>
  561. <ContextMenu>
  562. <MenuItem Header="ON" Command="{Binding OpenPumpCommand}" IsChecked="{Binding PumpIsOpen,Mode=OneWay}" IsEnabled="{Binding PumpIsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}"/>
  563. <MenuItem Header="OFF" Command="{Binding ClosePumpCommand}" IsChecked="{Binding PumpIsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}" IsEnabled="{Binding PumpIsOpen,Mode=OneWay}"/>
  564. </ContextMenu>
  565. </ctrls:Pump.ContextMenu>
  566. </ctrls:Pump>
  567. <ctrls:FlowPipe Height="8" Width="60" Canvas.Left="1266" Canvas.Top="638" RotateTransformValue="90" >
  568. <ctrls:FlowPipe.IsFlowing>
  569. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  570. <Binding Path="SoftPumpValveIsOpen"/>
  571. <Binding Path="FastPumpValveIsOpen"/>
  572. <Binding Path="TurboPumpPumpingValveIsOpen"/>
  573. <!--<Binding Path="N2Purge1ValveIsOpen"/>-->
  574. </MultiBinding>
  575. </ctrls:FlowPipe.IsFlowing>
  576. </ctrls:FlowPipe>
  577. <!--<ctrls:Pipe2 Canvas.Left="1060" Canvas.Top="687.8" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" />-->
  578. <ctrls:FlowPipe Height="8" Width="46" Canvas.Left="1213" Canvas.Top="635" >
  579. <ctrls:FlowPipe.IsFlowing>
  580. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  581. <Binding Path="SoftPumpValveIsOpen"/>
  582. <Binding Path="FastPumpValveIsOpen"/>
  583. </MultiBinding>
  584. </ctrls:FlowPipe.IsFlowing>
  585. </ctrls:FlowPipe>
  586. <ctrls:FlowPipe Height="8" Width="52" Canvas.Left="1165" Canvas.Top="635" IsFlowing="{Binding SoftPumpValveIsOpen}" />
  587. <ctrls:FlowPipe Height="8" Width="125" Canvas.Left="1219" Canvas.Top="512" RotateTransformValue="90" IsFlowing="{Binding FastPumpValveIsOpen}"/>
  588. <ctrls:FlowPipe Height="8" Width="119" Canvas.Left="1168" Canvas.Top="517" RotateTransformValue="90" IsFlowing="{Binding SoftPumpValveIsOpen}"/>
  589. <ctrls:Pipe2 Canvas.Left="1173" Canvas.Top="643" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" />
  590. <ctrls:FlowPipe Height="8" Width="48" Canvas.Left="1165" Canvas.Top="512" HorizontalAlignment="Left" VerticalAlignment="Center" IsReverse="True" IsFlowing="{Binding SoftPumpValveIsOpen}" />
  591. <ctrls:FlowPipe Height="8" Width="25" Canvas.Left="1185" Canvas.Top="455" >
  592. <ctrls:FlowPipe.IsFlowing>
  593. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  594. <Binding Path="SoftPumpValveIsOpen"/>
  595. <Binding Path="FastPumpValveIsOpen"/>
  596. </MultiBinding>
  597. </ctrls:FlowPipe.IsFlowing>
  598. </ctrls:FlowPipe>
  599. <ctrls:FlowPipe Height="8" Width="70" Canvas.Left="1185" Canvas.Top="440" IsFlowing="{Binding TurboPumpPumpingValveIsOpen}"/>
  600. <ctrls:Pipe2 Canvas.Left="1253" Canvas.Top="440" HorizontalAlignment="Left" VerticalAlignment="Top" />
  601. <ctrls:FlowPipe Height="8" Width="55" Canvas.Left="1219" Canvas.Top="458" RotateTransformValue="90">
  602. <ctrls:FlowPipe.IsFlowing>
  603. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  604. <Binding Path="SoftPumpValveIsOpen"/>
  605. <Binding Path="FastPumpValveIsOpen"/>
  606. </MultiBinding>
  607. </ctrls:FlowPipe.IsFlowing>
  608. </ctrls:FlowPipe>
  609. <ctrls:Pipe2 Canvas.Left="1160" Canvas.Top="525" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" />
  610. <ctrls:Pipe2 Canvas.Left="1206" Canvas.Top="455" HorizontalAlignment="Left" VerticalAlignment="Top" />
  611. <TextBlock Canvas.Left="1175" Canvas.Top="555" Text="Soft&#10; V2" FontSize="14"/>
  612. <TextBlock Canvas.Left="1226" Canvas.Top="555" Text="Fast&#10; V3" FontSize="14"/>
  613. <ctrls:FlowPipe Height="8" Width="164" Canvas.Left="1276" Canvas.Top="535" IsReverse="True" IsFlowing="{Binding TurboPumpPurgeValveIsOpen,Mode=TwoWay}" >
  614. </ctrls:FlowPipe>
  615. <ctrls:FlowPipe ToolTip="123" Height="8" Width="157" Canvas.Left="1448" Canvas.Top="542" RotateTransformValue="90" IsReverse="True" IsFlowing="{Binding TurboPumpPurgeValveIsOpen}"/>
  616. <ctrls:Pipe2 Canvas.Left="1435" Canvas.Top="535" HorizontalAlignment="Left" VerticalAlignment="Top" />
  617. <!--<ctrls:FlowPipeValve x:Name="purgevalve" Height="20" Width="24" Canvas.Left="1458" Canvas.Top="610" RotateTransformValue="90" IsOpen="{Binding TurboPumpPumpingValveIsOpen,Mode=TwoWay}"/>-->
  618. <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}}"/>
  619. <TextBlock Text="Turbo N2&#10; Purge V7" Canvas.Left="1365" Canvas.Top="610" FontSize="14"/>
  620. <!--<TextBlock Text="VHe1" Canvas.Top="636" Canvas.Left="985"/>
  621. <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}}"/>-->
  622. <!--<TextBlock Text="VHe2" Canvas.Top="658" Canvas.Left="1094"/>-->
  623. <!--<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}}"/>-->
  624. <customControls:CommonValveControl Status="{Binding SoftPumpValveIsOpen,Mode=TwoWay}" ValveOrientation="Vertical" Height="20" Width="20" Canvas.Top="562" Canvas.Left="1154" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="22" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  625. <customControls:CommonValveControl Status="{Binding FastPumpValveIsOpen,Mode=TwoWay}" ValveOrientation="Vertical" Height="20" Width="20" Canvas.Top="562" Canvas.Left="1205" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="23" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  626. <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}}"/>
  627. <!--turbo-->
  628. <ctrls:TurboPump Width="40" Height="40" Canvas.Top="511.5" Canvas.Left="1242.5" IsOpen="{Binding TurboIsOpen}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}">
  629. <ctrls:TurboPump.ContextMenu>
  630. <ContextMenu>
  631. <MenuItem Header="ON" Command="{Binding OpenTurboPumpCommand}" IsChecked="{Binding TurboIsOpen,Mode=OneWay}" IsEnabled="{Binding TurboIsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}"/>
  632. <MenuItem Header="OFF" Command="{Binding CloseTurboPumpCommand}" IsChecked="{Binding TurboIsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}" IsEnabled="{Binding TurboIsOpen,Mode=OneWay}"/>
  633. </ContextMenu>
  634. </ctrls:TurboPump.ContextMenu>
  635. </ctrls:TurboPump>
  636. <ctrls:PendulumValve Canvas.Top="460" Canvas.Left="1243" Opening="{Binding PendulumValveData.Position}" IsOpen="{Binding PendulumValveData.IsOpen}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}">
  637. <i:Interaction.Triggers>
  638. <i:EventTrigger EventName="MouseLeftButtonUp">
  639. <i:InvokeCommandAction Command="{Binding OpenButterflyValveViewCommand}"/>
  640. </i:EventTrigger>
  641. </i:Interaction.Triggers>
  642. <ctrls:PendulumValve.ContextMenu>
  643. <ContextMenu>
  644. <MenuItem Header="Open" Command="{Binding OpenPendulumValveCommand}" IsChecked="{Binding PendulumValveData.IsOpen,Mode=OneWay}" IsEnabled="{Binding PendulumValveData.IsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}"/>
  645. <MenuItem Header="Close" Command="{Binding ClosePendulumValveCommand}" IsChecked="{Binding PendulumValveData.IsOpen,Converter={StaticResource BoolToBool},Mode=OneWay}" IsEnabled="{Binding PendulumValveData.IsOpen,Mode=OneWay}"/>
  646. </ContextMenu>
  647. </ctrls:PendulumValve.ContextMenu>
  648. </ctrls:PendulumValve>
  649. <Image Canvas.Top="730" Canvas.Left="1425" Width="40" Height="25" Source="Pack://application:,,,/Venus_Themes;Component/Resources/Arrow.png" Stretch="Uniform">
  650. <Image.RenderTransform>
  651. <RotateTransform Angle="-90"/>
  652. </Image.RenderTransform>
  653. </Image>
  654. <TextBlock Text="N2" Canvas.Top="735" Canvas.Left="1438" FontSize="14"/>
  655. <!--<ctrls:TextboxWithLabel Canvas.Top="633" Canvas.Left="880" LabelValue="Pressure(mTorr)" TextBoxValue="{Binding HePressureSetpoint,Mode=TwoWay}" TextBoxColor="White" IsReadOnly="False"/>-->
  656. <!--<ctrls:TextboxWithLabel Canvas.Top="633" Canvas.Left="820" TextBoxValue="{Binding HeGasSetpoint,Mode=TwoWay}" LabelValue="Flow(sccm)/Pressure(Torr)" TextBoxColor="White" IsReadOnly="False"/>-->
  657. <!--<Ellipse Width="18" Height="18" Canvas.Top="651.5" Canvas.Left="775" Fill="{Binding MFCHeData.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0" ToolTip="Pressure Alarm"></Ellipse>-->
  658. <ctrls:TextBlockWithLabel Canvas.Top="632" Canvas.Left="1280" LabelValue="{Binding PressureType, StringFormat=CM3({0})}" TextBoxValue="{Binding ForelinePressure,StringFormat='F1'}"/>
  659. <!--<ctrls:TextboxWithLabel Canvas.Top="460" Canvas.Left="1290" LabelValue="Position(‰)" TextBoxValue="{Binding PendulumValvePosition,StringFormat='F0'}" TextBoxColor="#E6ECF5" />-->
  660. <ctrls:TextBlockWithLabel Canvas.Top="509" Canvas.Left="1330" LabelValue="Flow(sccm)" TextBoxValue="{Binding MFCN2Data.FeedBack,StringFormat='F1'}"/>
  661. <ctrls:TextBlockWithLabel Canvas.Top="559" Canvas.Left="1280" LabelValue="Speed(rpm)" TextBoxValue="{Binding TurboPumpRotationalSpeed}"/>
  662. <TextBlock Canvas.Top="595" Canvas.Left="1227" Text="ISO&#10; V6" FontSize="14"/>
  663. <!--<StackPanel Canvas.Top="450" Canvas.Left="1310" Orientation="Vertical" Visibility="{Binding PVHeaterIsEnbale,Converter={StaticResource BoolToVisibility2}}">
  664. <TextBlock Text="Pendulum Heater" Margin="0 0 0 5" FontSize="14"/>
  665. <Button Height="18" Width="60" 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"/>
  666. </StackPanel>-->
  667. <TextBlock Text="Dry Pump" Canvas.Top="733" Canvas.Left="1229" FontSize="14"/>
  668. <!--<ctrls:FlowPipe Height="8" Width="55" Canvas.Left="1055" Canvas.Top="458" RotateTransformValue="90" IsFlowing="{Binding N2Purge1ValveIsOpen}" IsReverse="True"/>
  669. <ctrls:FlowPipe Height="8" Width="55" Canvas.Left="1155" Canvas.Top="458" RotateTransformValue="90" IsFlowing="{Binding N2Purge1ValveIsOpen}" IsReverse="True"/>
  670. <ctrls:FlowPipe Height="8" Width="48" Canvas.Left="1054" Canvas.Top="512" HorizontalAlignment="Left" VerticalAlignment="Center" IsFlowing="{Binding N2Purge1ValveIsOpen}" IsReverse="True"/>
  671. <ctrls:FlowPipe Height="8" Width="46" Canvas.Left="1102" Canvas.Top="512" HorizontalAlignment="Left" VerticalAlignment="Center" IsFlowing="{Binding N2Purge1ValveIsOpen}" />-->
  672. <ctrls:FlowPipe Height="8" Width="180" Canvas.Left="1105" Canvas.Top="518" RotateTransformValue="90" IsFlowing="{Binding N2Purge1ValveIsOpen}" IsReverse="True"/>
  673. <Border Height="8" Width="50" Canvas.Left="1055" Canvas.Top="463" Background="Gray">
  674. <Border.RenderTransform>
  675. <RotateTransform Angle="90"/>
  676. </Border.RenderTransform>
  677. </Border>
  678. <Border Height="8" Width="50" Canvas.Left="1154" Canvas.Top="463" Background="Gray">
  679. <Border.RenderTransform>
  680. <RotateTransform Angle="90"/>
  681. </Border.RenderTransform>
  682. </Border>
  683. <Border Height="8" Width="54" Canvas.Left="1047" Canvas.Top="512" HorizontalAlignment="Left" VerticalAlignment="Center" Background="Gray"/>
  684. <Border Height="8" Width="53" Canvas.Left="1101" Canvas.Top="512" HorizontalAlignment="Left" VerticalAlignment="Center" Background="Gray"/>
  685. <Image Canvas.Top="730" Canvas.Left="1081" Width="40" Height="25" Source="Pack://application:,,,/Venus_Themes;Component/Resources/Arrow.png" Stretch="Uniform">
  686. <Image.RenderTransform>
  687. <RotateTransform Angle="-90"/>
  688. </Image.RenderTransform>
  689. </Image>
  690. <TextBlock Text="N2" Canvas.Top="735" Canvas.Left="1093" FontSize="14"/>
  691. <ctrls:TextBlockWithLabel Canvas.Top="535" Canvas.Left="1066" LabelValue="" TextBoxValue="{Binding HighTemperatureHeaterData.HighTemperatureHeaterN2Flow,StringFormat='F1'}"/>
  692. <TextBlock Text="Flow(L/Min)" Canvas.Top="556" Canvas.Left="990" FontSize="14"/>
  693. <!--<ctrls:Pipe2 Canvas.Left="1155" Canvas.Top="507" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="90" />
  694. <ctrls:Pipe2 Canvas.Left="1060" Canvas.Top="520" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" />-->
  695. <customControls:CommonValveControl Status="{Binding N2Purge1ValveIsOpen,Mode=TwoWay}" ValveOrientation="Vertical" Height="20" Width="20" Canvas.Top="595" Canvas.Left="1091" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="57" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  696. <Ellipse Width="18" Height="18" Canvas.Left="1092" Canvas.Top="660" Fill="{Binding SensorN2PurgePressure,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0" ToolTip="Pressure Alarm"></Ellipse>
  697. <Ellipse Width="18" Height="18" Canvas.Left="1435" Canvas.Top="660" Fill="{Binding SensorN2PurgePressure,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="0" ToolTip="Pressure Alarm"></Ellipse>
  698. </Canvas>
  699. <!--与chamber右上角连接的管道-->
  700. <ctrls:FlowPipe Height="8" Width="40" Canvas.Left="1232" Canvas.Top="275" RotateTransformValue="90" />
  701. <ctrls:FlowPipe Height="8" Width="126" Canvas.Left="1220" Canvas.Top="192" RotateTransformValue="90" />
  702. <ctrls:Pipe2 Canvas.Left="1224" Canvas.Top="285" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" />
  703. <ctrls:FlowPipe Height="8" Width="80" Canvas.Left="1222" Canvas.Top="182" />
  704. <ctrls:FlowPipe Height="8" Width="70" Canvas.Left="1234" Canvas.Top="272" />
  705. <TextBlock Text="Gauge&#10; V9" Canvas.Left="1242" Canvas.Top="235" FontSize="14"/>
  706. <TextBlock Text="V4" Canvas.Left="1262" Canvas.Top="320" FontSize="14"/>
  707. <ctrls:FlowPipe Height="8" Width="100" Canvas.Left="1234" Canvas.Top="342" />
  708. <customControls:CommonValveControl ValveOrientation="Horizontal" Status="{Binding PenningGaugeValveIsOpen,Mode=TwoWay}" Height="20" Width="20" Canvas.Left="1260" Canvas.Top="336" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="59" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  709. <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}}"/>
  710. <Border BorderBrush="Gray" Background="White" BorderThickness="0" Width="18" Height="6" Canvas.Left="1285" Canvas.Top="164" >
  711. <Border.RenderTransform>
  712. <RotateTransform Angle="90"/>
  713. </Border.RenderTransform>
  714. </Border>
  715. <Border BorderBrush="Gray" Background="White" BorderThickness="0" Width="20" Height="6" Canvas.Left="1255" Canvas.Top="164" >
  716. <Border.RenderTransform>
  717. <RotateTransform Angle="90"/>
  718. </Border.RenderTransform>
  719. </Border>
  720. <Ellipse Width="18" Height="18" Canvas.Left="1273" Canvas.Top="150" Fill="{Binding IsATM,Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="0"></Ellipse>
  721. <Ellipse Width="18" Height="18" Canvas.Left="1243" Canvas.Top="150" Fill="{Binding IsVAC,Converter={StaticResource boolToColor}}" Stroke="Silver" StrokeThickness="0"></Ellipse>
  722. <TextBlock Text="ATM" Canvas.Left="1270" Canvas.Top="134" FontSize="14"/>
  723. <TextBlock Text="VAC" Canvas.Left="1237" Canvas.Top="134" FontSize="14"/>
  724. <ctrls:Pipe2 Canvas.Left="1212" Canvas.Top="195" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" />
  725. <!--chamber管道标签-->
  726. <ctrls:TextBlockWithLabel Canvas.Top="157" Canvas.Left="1296" LabelValue="{Binding PressureType, StringFormat=CM2({0})}" TextBoxValue="{Binding ChamberPressure,StringFormat='F1'}" />
  727. <ctrls:TextBlockWithLabel Canvas.Top="247" Canvas.Left="1288" LabelValue="{Binding PressureType, StringFormat=CM1({0})}" TextBoxValue="{Binding ProcessPressure,StringFormat='F1'}" />
  728. <ctrls:TextBlockWithLabel Canvas.Top="316" Canvas.Left="1300" LabelValue="{Binding PressureType, StringFormat=Penning Gauge({0})}" TextBoxValue="{Binding PenningPressure,StringFormat='F5'}"/>
  729. <!--Chamber-->
  730. <ctrls:ChamberWithHeater Canvas.Left="1000" Canvas.Top="226"
  731. IsOpenSlitDoor="{Binding IsSlitDoorClosed,Converter={StaticResource BoolToBool}}"
  732. IsLidOpen="{Binding IsLidClosed,Converter={StaticResource BoolToBool}}"
  733. IsSRFOn="{Binding SRFData.IsRfOn}"
  734. IsHasWafer="{Binding IsHasWafer}"
  735. WaferID="{Binding WaferID}"
  736. ModuleName="{Binding ModuleName}"
  737. HeaterPosition="{Binding HighTemperatureHeaterData.HighTemperatureHeaterPositionFeedBack}"
  738. IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"
  739. RobotWafer="{Binding PMWafer}"
  740. ChamberInfo="{Binding ChamberInfo}"
  741. />
  742. </Canvas>
  743. </Canvas>
  744. <DataGrid Canvas.Top="650" Height="170" AutoGenerateColumns="False" BorderThickness="0.1" FontSize="14" MinRowHeight="20"
  745. CanUserAddRows="False" CanUserDeleteRows="False" CanUserReorderColumns="False" CanUserResizeColumns="True" CanUserResizeRows="False" CanUserSortColumns="False"
  746. SelectionMode="Single" SelectionUnit="FullRow" Background="#05000000" HorizontalScrollBarVisibility="Disabled"
  747. ItemsSource="{Binding LeakCheckResultList}" SelectedItem="{Binding CurrentLeakCheckResultItem}" FontFamily="Arial,SimSun" Canvas.Left="0">
  748. <DataGrid.Columns>
  749. <DataGridTextColumn Width="170" Binding="{Binding CheckDate}" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" >
  750. <DataGridTextColumn.HeaderTemplate >
  751. <DataTemplate>
  752. <TextBlock Text="CheckDate" />
  753. </DataTemplate>
  754. </DataGridTextColumn.HeaderTemplate>
  755. </DataGridTextColumn>
  756. <DataGridTextColumn Width="130" Binding="{Binding BasePressure}" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" >
  757. <DataGridTextColumn.HeaderTemplate >
  758. <DataTemplate>
  759. <TextBlock Text="Base Pressure" />
  760. </DataTemplate>
  761. </DataGridTextColumn.HeaderTemplate>
  762. </DataGridTextColumn>
  763. <DataGridTextColumn Width="110" Binding="{Binding StartPressure}" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" >
  764. <DataGridTextColumn.HeaderTemplate >
  765. <DataTemplate>
  766. <TextBlock Text="Start Pressure" />
  767. </DataTemplate>
  768. </DataGridTextColumn.HeaderTemplate>
  769. </DataGridTextColumn>
  770. <DataGridTextColumn Width="110" Binding="{Binding EndPressure}" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" >
  771. <DataGridTextColumn.HeaderTemplate >
  772. <DataTemplate>
  773. <TextBlock Text="End Pressure" />
  774. </DataTemplate>
  775. </DataGridTextColumn.HeaderTemplate>
  776. </DataGridTextColumn>
  777. <DataGridTextColumn Width="130" Binding="{Binding LeakRate}" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" >
  778. <DataGridTextColumn.HeaderTemplate >
  779. <DataTemplate>
  780. <TextBlock Text="LeakRate(Pa/min)" />
  781. </DataTemplate>
  782. </DataGridTextColumn.HeaderTemplate>
  783. </DataGridTextColumn>
  784. <DataGridTextColumn Width="200" Binding="{Binding CheckMode}" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" >
  785. <DataGridTextColumn.HeaderTemplate >
  786. <DataTemplate>
  787. <TextBlock Text="CheckMode" />
  788. </DataTemplate>
  789. </DataGridTextColumn.HeaderTemplate>
  790. </DataGridTextColumn>
  791. <DataGridTextColumn Width="390" Binding="{Binding GasLines}" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" >
  792. <DataGridTextColumn.HeaderTemplate >
  793. <DataTemplate>
  794. <TextBlock Text="Gas Lines" />
  795. </DataTemplate>
  796. </DataGridTextColumn.HeaderTemplate>
  797. </DataGridTextColumn>
  798. <DataGridTextColumn Width="170" Binding="{Binding Result}" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" >
  799. <DataGridTextColumn.HeaderTemplate >
  800. <DataTemplate>
  801. <TextBlock Text="Result" />
  802. </DataTemplate>
  803. </DataGridTextColumn.HeaderTemplate>
  804. </DataGridTextColumn>
  805. </DataGrid.Columns>
  806. </DataGrid>
  807. </Canvas>
  808. <Canvas Grid.Column="1" Background="#C7D2DF">
  809. <Canvas Canvas.Left="50" Canvas.Top="30">
  810. <Grid Width="400" Height="440" Background="White" unity:GridOptions.ShowBorder="True" unity:GridOptions.LineBrush="#E5E6E7" Canvas.Top="40">
  811. <Grid.RowDefinitions>
  812. <RowDefinition Height="40"/>
  813. <RowDefinition/>
  814. <RowDefinition/>
  815. <RowDefinition/>
  816. <RowDefinition/>
  817. <RowDefinition/>
  818. <RowDefinition/>
  819. <RowDefinition/>
  820. <RowDefinition/>
  821. <RowDefinition/>
  822. <RowDefinition/>
  823. <RowDefinition/>
  824. <RowDefinition/>
  825. <RowDefinition/>
  826. <RowDefinition/>
  827. <RowDefinition/>
  828. <RowDefinition/>
  829. <!--<RowDefinition Height="0"/>-->
  830. </Grid.RowDefinitions>
  831. <Grid.ColumnDefinitions>
  832. <ColumnDefinition Width="3*"/>
  833. <ColumnDefinition Width="2*"/>
  834. </Grid.ColumnDefinitions>
  835. <TextBlock Grid.Row="0" Grid.ColumnSpan="2" Text="Leak Check Setting" FontSize="22" Padding="90,5,0,0" Background="#FFFFFF"/>
  836. <TextBlock Grid.Row="1" Text="Pumping Time(s)" FontSize="15" VerticalAlignment="Center" Padding="10" />
  837. <TextBlock Grid.Row="2" Text="Leak Check Time(s)" FontSize="15" VerticalAlignment="Center" Padding="10" />
  838. <TextBlock Grid.Row="3" Text="{Binding PressureType, StringFormat=Leak Rate Limit({0}/min)}" FontSize="15" VerticalAlignment="Center" Padding="10" />
  839. <TextBlock Grid.Row="4" Text="Leak Check Mode" FontSize="15" VerticalAlignment="Center" Padding="10" />
  840. <TextBlock Grid.Row="5" Text="Select All" FontSize="15" VerticalAlignment="Center" Padding="10" />
  841. <TextBlock Grid.Row="6" Text="Vent N2" FontSize="15" VerticalAlignment="Center" Padding="10" />
  842. <TextBlock Grid.Row="7" Text="MfcGas1" FontSize="15" VerticalAlignment="Center" Padding="10" />
  843. <TextBlock Grid.Row="8" Text="MfcGas2" FontSize="15" VerticalAlignment="Center" Padding="10" />
  844. <TextBlock Grid.Row="9" Text="MfcGas3" FontSize="15" VerticalAlignment="Center" Padding="10" />
  845. <TextBlock Grid.Row="10" Text="MfcGas4" FontSize="15" VerticalAlignment="Center" Padding="10" />
  846. <TextBlock Grid.Row="11" Text="MfcGas5" FontSize="15" VerticalAlignment="Center" Padding="10" />
  847. <TextBlock Grid.Row="12" Text="MfcGas6" FontSize="15" VerticalAlignment="Center" Padding="10" />
  848. <TextBlock Grid.Row="13" Text="MfcGas7" FontSize="15" VerticalAlignment="Center" Padding="10" />
  849. <TextBlock Grid.Row="14" Text="MfcGas8" FontSize="15" VerticalAlignment="Center" Padding="10" />
  850. <TextBlock Grid.Row="15" Text="State" FontSize="15" VerticalAlignment="Center" Padding="10" />
  851. <TextBlock Grid.Row="16" Text="Time(s)" FontSize="15" VerticalAlignment="Center" Padding="10" />
  852. <!--<TextBlock Grid.Row="17" Text="当前压力" FontSize="15" VerticalAlignment="Center" Padding="10" />-->
  853. <TextBox Grid.Row="1" Grid.Column="1" BorderThickness="0" VerticalContentAlignment="Center" Text="{Binding VentTime,UpdateSourceTrigger=PropertyChanged}"/>
  854. <TextBox Grid.Row="2" Grid.Column="1" BorderThickness="0" VerticalContentAlignment="Center" Text="{Binding CheckTime,UpdateSourceTrigger=PropertyChanged}"/>
  855. <TextBox Grid.Row="3" Grid.Column="1" BorderThickness="0" VerticalContentAlignment="Center" Text="{Binding LeakRateUpperLimit,UpdateSourceTrigger=PropertyChanged}"/>
  856. <ComboBox Grid.Row="4" Grid.Column="1" BorderBrush="Transparent" Margin="0" ItemsSource="{Binding LeakCheckMode}" SelectedIndex="{Binding LeakCheckModeSelectedIndex}" Style="{StaticResource customeComboBoxStyle}" BorderThickness="0"/>
  857. <CheckBox Grid.Row="5" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}">
  858. <CheckBox.IsChecked>
  859. <MultiBinding Converter="{StaticResource AllNoneCheckboxConverter}">
  860. <Binding ElementName="n2CheckBox" Path="IsChecked"/>
  861. <Binding ElementName="gas1CheckBox" Path="IsChecked"/>
  862. <Binding ElementName="gas2CheckBox" Path="IsChecked"/>
  863. <Binding ElementName="gas3CheckBox" Path="IsChecked"/>
  864. <Binding ElementName="gas4CheckBox" Path="IsChecked"/>
  865. <Binding ElementName="gas5CheckBox" Path="IsChecked"/>
  866. <Binding ElementName="gas6CheckBox" Path="IsChecked"/>
  867. <Binding ElementName="gas7CheckBox" Path="IsChecked"/>
  868. <Binding ElementName="gas8CheckBox" Path="IsChecked"/>
  869. </MultiBinding>
  870. </CheckBox.IsChecked>
  871. </CheckBox>
  872. <CheckBox x:Name="n2CheckBox" Grid.Row="6" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[0]}" />
  873. <CheckBox x:Name="gas1CheckBox" Grid.Row="7" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[1]}"/>
  874. <CheckBox x:Name="gas2CheckBox" Grid.Row="8" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[2]}"/>
  875. <CheckBox x:Name="gas3CheckBox" Grid.Row="9" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[3]}"/>
  876. <CheckBox x:Name="gas4CheckBox" Grid.Row="10" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[4]}"/>
  877. <CheckBox x:Name="gas5CheckBox" Grid.Row="11" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[5]}"/>
  878. <CheckBox x:Name="gas6CheckBox" Grid.Row="12" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[6]}"/>
  879. <CheckBox x:Name="gas7CheckBox" Grid.Row="13" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[7]}"/>
  880. <CheckBox x:Name="gas8CheckBox" Grid.Row="14" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[8]}"/>
  881. <TextBlock Grid.Row="15" Grid.Column="1" Text="{Binding CurrentStep}" Padding="2,5,0,0"/>
  882. <TextBlock Grid.Row="16" Grid.Column="1" Text="{Binding StepTime, StringFormat=hh\\:mm\\:ss}" Padding="2,5,0,0"/>
  883. <!--<TextBlock Grid.Row="17" Grid.Column="1"/>-->
  884. </Grid>
  885. <customControls:PathButton Foreground="White" Content="Leak Check" Width="130" Height="30" Canvas.Left="0" Canvas.Top="0" Command="{Binding CheckCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>
  886. <!--<customControls:PathButton Foreground="White" Content="Gas Purge" Width="130" Height="30" Canvas.Left="150" Canvas.Top="70" Command="{Binding GasPurgeCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>-->
  887. <customControls:PathButton Foreground="White" Content="Abort" Width="130" Height="30" Canvas.Left="270" Canvas.Top="0" Command="{Binding AbortCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>
  888. </Canvas>
  889. <Canvas Canvas.Left="50" Canvas.Top="550">
  890. <Grid Width="400" Height="200" Background="White" unity:GridOptions.ShowBorder="True" unity:GridOptions.LineBrush="#E5E6E7" Canvas.Top="40">
  891. <Grid.RowDefinitions>
  892. <RowDefinition Height="40"/>
  893. <RowDefinition/>
  894. <RowDefinition/>
  895. <RowDefinition/>
  896. <RowDefinition/>
  897. <RowDefinition/>
  898. </Grid.RowDefinitions>
  899. <Grid.ColumnDefinitions>
  900. <ColumnDefinition Width="3*"/>
  901. <ColumnDefinition Width="2*"/>
  902. </Grid.ColumnDefinitions>
  903. <TextBlock Grid.Row="0" Grid.ColumnSpan="2" Text="Gas Purge Setting" FontSize="22" Padding="90,5,0,0" Background="#FFFFFF"/>
  904. <!--<TextBlock Grid.Row="1" Text="Pumping Time(s)" FontSize="15" VerticalAlignment="Center" Padding="10" />
  905. <TextBlock Grid.Row="2" Text="Leak Check Time(s)" FontSize="15" VerticalAlignment="Center" Padding="10" />
  906. <TextBlock Grid.Row="3" Text="{Binding PressureType, StringFormat=Leak Rate Limit({0}/min)}" FontSize="15" VerticalAlignment="Center" Padding="10" />
  907. <TextBlock Grid.Row="4" Text="Leak Check Mode" FontSize="15" VerticalAlignment="Center" Padding="10" />-->
  908. <TextBlock Grid.Row="1" Text="Select All" FontSize="15" VerticalAlignment="Center" Padding="10" />
  909. <!--<TextBlock Grid.Row="6" Text="Vent N2" FontSize="15" VerticalAlignment="Center" Padding="10" />-->
  910. <TextBlock Grid.Row="2" Text="MfcGas1" FontSize="15" VerticalAlignment="Center" Padding="10" />
  911. <TextBlock Grid.Row="3" Text="MfcGas2" FontSize="15" VerticalAlignment="Center" Padding="10" />
  912. <TextBlock Grid.Row="4" Text="MfcGas3" FontSize="15" VerticalAlignment="Center" Padding="10" />
  913. <TextBlock Grid.Row="5" Text="MfcGas4" FontSize="15" VerticalAlignment="Center" Padding="10" />
  914. <!--<TextBlock Grid.Row="11" Text="MfcGas5" FontSize="15" VerticalAlignment="Center" Padding="10" />
  915. <TextBlock Grid.Row="12" Text="MfcGas6" FontSize="15" VerticalAlignment="Center" Padding="10" />
  916. <TextBlock Grid.Row="13" Text="MfcGas7" FontSize="15" VerticalAlignment="Center" Padding="10" />
  917. <TextBlock Grid.Row="14" Text="MfcGas8" FontSize="15" VerticalAlignment="Center" Padding="10" />
  918. <TextBlock Grid.Row="15" Text="State" FontSize="15" VerticalAlignment="Center" Padding="10" />
  919. <TextBlock Grid.Row="16" Text="Time(s)" FontSize="15" VerticalAlignment="Center" Padding="10" />-->
  920. <!--<TextBlock Grid.Row="17" Text="当前压力" FontSize="15" VerticalAlignment="Center" Padding="10" />-->
  921. <!--<TextBox Grid.Row="1" Grid.Column="1" BorderThickness="0" VerticalContentAlignment="Center" Text="{Binding VentTime,UpdateSourceTrigger=PropertyChanged}"/>
  922. <TextBox Grid.Row="2" Grid.Column="1" BorderThickness="0" VerticalContentAlignment="Center" Text="{Binding CheckTime,UpdateSourceTrigger=PropertyChanged}"/>
  923. <TextBox Grid.Row="3" Grid.Column="1" BorderThickness="0" VerticalContentAlignment="Center" Text="{Binding LeakRateUpperLimit,UpdateSourceTrigger=PropertyChanged}"/>-->
  924. <!--<ComboBox Grid.Row="4" Grid.Column="1" BorderBrush="Transparent" Margin="0" ItemsSource="{Binding LeakCheckMode}" SelectedIndex="{Binding LeakCheckModeSelectedIndex}" Style="{StaticResource customeComboBoxStyle}" BorderThickness="0"/>-->
  925. <CheckBox Grid.Row="1" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center">
  926. <CheckBox.IsChecked>
  927. <MultiBinding Converter="{StaticResource AllNoneCheckboxConverter}">
  928. <!--<Binding ElementName="n2CheckBox" Path="IsChecked"/>-->
  929. <Binding ElementName="gas1CheckBox2" Path="IsChecked"/>
  930. <Binding ElementName="gas2CheckBox2" Path="IsChecked"/>
  931. <Binding ElementName="gas3CheckBox2" Path="IsChecked"/>
  932. <Binding ElementName="gas4CheckBox2" Path="IsChecked"/>
  933. <!--<Binding ElementName="gas5CheckBox" Path="IsChecked"/>
  934. <Binding ElementName="gas6CheckBox" Path="IsChecked"/>
  935. <Binding ElementName="gas7CheckBox" Path="IsChecked"/>
  936. <Binding ElementName="gas8CheckBox" Path="IsChecked"/>-->
  937. </MultiBinding>
  938. </CheckBox.IsChecked>
  939. </CheckBox>
  940. <!--<CheckBox x:Name="n2CheckBox" Grid.Row="6" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[0]}" />-->
  941. <CheckBox x:Name="gas1CheckBox2" Grid.Row="2" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsChecked="{Binding PurgeGasIsCheck[1]}"/>
  942. <CheckBox x:Name="gas2CheckBox2" Grid.Row="3" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsChecked="{Binding PurgeGasIsCheck[2]}"/>
  943. <CheckBox x:Name="gas3CheckBox2" Grid.Row="4" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsChecked="{Binding PurgeGasIsCheck[3]}"/>
  944. <CheckBox x:Name="gas4CheckBox2" Grid.Row="5" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsChecked="{Binding PurgeGasIsCheck[4]}"/>
  945. <!--<CheckBox x:Name="gas5CheckBox" Grid.Row="11" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[5]}"/>
  946. <CheckBox x:Name="gas6CheckBox" Grid.Row="12" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[6]}"/>
  947. <CheckBox x:Name="gas7CheckBox" Grid.Row="13" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[7]}"/>
  948. <CheckBox x:Name="gas8CheckBox" Grid.Row="14" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[8]}"/>-->
  949. <!--<TextBlock Grid.Row="15" Grid.Column="1" Text="{Binding CurrentStep}" Padding="2,5,0,0"/>
  950. <TextBlock Grid.Row="16" Grid.Column="1" Text="{Binding StepTime, StringFormat=hh\\:mm\\:ss}" Padding="2,5,0,0"/>-->
  951. <!--<TextBlock Grid.Row="17" Grid.Column="1"/>-->
  952. </Grid>
  953. <!--<customControls:PathButton Foreground="White" Content="Leak Check" Width="130" Height="30" Canvas.Left="0" Canvas.Top="20" Command="{Binding CheckCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>-->
  954. <customControls:PathButton Foreground="White" Content="Gas Purge" Width="130" Height="30" Canvas.Left="0" Canvas.Top="0" Command="{Binding GasPurgeCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>
  955. <customControls:PathButton Foreground="White" Content="Abort" Width="130" Height="30" Canvas.Left="270" Canvas.Top="0" Command="{Binding AbortCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>
  956. </Canvas>
  957. </Canvas>
  958. </Grid>
  959. </UserControl>