KeplerGasLeakCheckView.xaml 78 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942
  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. <converters2:AllNoneCheckboxConverter x:Key="AllNoneCheckboxConverter"/>
  46. <converters2:BoolToHeightConverter x:Key="BoolToHeightConverter"/>
  47. <converters:BoolToVisibility2 x:Key="BoolToVisibility2"/>
  48. </UserControl.Resources>
  49. <Grid>
  50. <Grid.ColumnDefinitions>
  51. <ColumnDefinition Width="3*"/>
  52. <ColumnDefinition/>
  53. </Grid.ColumnDefinitions>
  54. <Canvas>
  55. <Canvas Canvas.Top="-50" Canvas.Left="50">
  56. <ctrls:Pipe2 Canvas.Left="490" Canvas.Top="558" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="90" Visibility="{Binding MFC7IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  57. <!--N2-->
  58. <ctrls:FlowPipe Name="N2Pipe2" Height="8" Width="76" Canvas.Left="255" Canvas.Top="120" IsFlowing="{Binding PVN22ValveIsOpen}">
  59. <!--<ctrls:FlowPipe.IsFlowing>
  60. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter}">
  61. <Binding Path="PVN22ValveIsOpen"/>
  62. <Binding Path="N2ValveIsOpen"/>
  63. </MultiBinding>
  64. </ctrls:FlowPipe.IsFlowing>-->
  65. </ctrls:FlowPipe>
  66. <ctrls:FlowPipe Name="N2Pipe3" Height="8" Width="154" Canvas.Left="330" Canvas.Top="120" IsFlowing="{Binding N2ValveIsOpen}">
  67. <!--<ctrls:FlowPipe.IsFlowing>
  68. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter}">
  69. <Binding Path="PVN22ValveIsOpen"/>
  70. <Binding Path="N2ValveIsOpen"/>
  71. </MultiBinding>
  72. </ctrls:FlowPipe.IsFlowing>-->
  73. </ctrls:FlowPipe>
  74. <TextBlock Text="GPVN2" Canvas.Left="422" Canvas.Top="95" FontSize="14"/>
  75. <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}}"/>
  76. <ctrls:FlowPipe x:Name="N2Pipe1" Height="8" Width="193" Canvas.Left="64" Canvas.Top="120" IsFlowing="{Binding PVN22ValveIsOpen}">
  77. <!--<ctrls:FlowPipe.IsFlowing>
  78. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter}">
  79. <Binding Path="PVN22ValveIsOpen"/>
  80. <Binding Path="N2ValveIsOpen"/>
  81. </MultiBinding>
  82. </ctrls:FlowPipe.IsFlowing>-->
  83. </ctrls:FlowPipe>
  84. <TextBlock Text="GPVN22" Canvas.Left="270" Canvas.Top="95" FontSize="14"/>
  85. <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}}"/>
  86. <ctrls:FlowPipe Height="8" Width="309" Canvas.Left="176" Canvas.Top="230" IsFlowing="{Binding MFC1ValveIsOpen}" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  87. <TextBlock Text="GPV1" Canvas.Left="430" Canvas.Top="208" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  88. <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}}"/>
  89. <ctrls:FlowPipe Height="8" Width="114" Canvas.Left="64" Canvas.Top="230" IsFlowing="{Binding PV11ValveIsOpen}" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  90. <ctrls:FlowPipe Height="8" Width="80" Canvas.Left="177" Canvas.Top="266" IsFlowing="{Binding PV12ValveIsOpen}" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  91. <!--<ctrls:Pipe2 Canvas.Left="214" Canvas.Top="274" RotateTransformValue="-180"/>-->
  92. <ctrls:FlowPipe Height="8" Width="30" Canvas.Left="178" Canvas.Top="236" RotateTransformValue="90" IsFlowing="{Binding PV12ValveIsOpen}" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  93. <ctrls:Pipe2 Canvas.Left="183" Canvas.Top="274" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  94. <ctrls:Pipe4 Canvas.Left="241" Canvas.Top="225" HorizontalAlignment="Left" VerticalAlignment="Top"/>
  95. <ctrls:FlowPipe Height="8" Width="55" Canvas.Left="257" Canvas.Top="126" RotateTransformValue="90" IsReverse="True">
  96. <ctrls:FlowPipe.IsFlowing>
  97. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  98. <Binding Path="PV12ValveIsOpen"/>
  99. <Binding Path="PV22ValveIsOpen"/>
  100. <Binding Path="PV32ValveIsOpen"/>
  101. <Binding Path="PV42ValveIsOpen"/>
  102. </MultiBinding>
  103. </ctrls:FlowPipe.IsFlowing>
  104. </ctrls:FlowPipe>
  105. <ctrls:FlowPipe Height="8" Width="190" Canvas.Left="64" Canvas.Top="180" IsFlowing="{Binding N2Purge2ValveIsOpen}" IsReverse="True">
  106. </ctrls:FlowPipe>
  107. <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}}"/>
  108. <TextBlock Text="To Dry Pump" Canvas.Top="155" FontSize="14"/>
  109. <TextBlock Text="GPV13" Canvas.Top="155" FontSize="14" Canvas.Left="115"/>
  110. <Image Canvas.Left="40" Canvas.Top="197" Width="40" Height="25" Source="Pack://application:,,,/Venus_Themes;Component/Resources/Arrow.png" Stretch="Uniform">
  111. <Image.RenderTransform>
  112. <RotateTransform Angle="180"/>
  113. </Image.RenderTransform>
  114. </Image>
  115. <ctrls:FlowPipe Height="8" Width="46" Canvas.Left="257" Canvas.Top="180" RotateTransformValue="90" IsReverse="True">
  116. <ctrls:FlowPipe.IsFlowing>
  117. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  118. <Binding Path="PV12ValveIsOpen"/>
  119. <Binding Path="PV22ValveIsOpen"/>
  120. <Binding Path="PV32ValveIsOpen"/>
  121. <Binding Path="PV42ValveIsOpen"/>
  122. </MultiBinding>
  123. </ctrls:FlowPipe.IsFlowing>
  124. </ctrls:FlowPipe>
  125. <ctrls:FlowPipe Height="8" Width="28" Canvas.Left="257" Canvas.Top="242" RotateTransformValue="90" IsReverse="True">
  126. <ctrls:FlowPipe.IsFlowing>
  127. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  128. <Binding Path="PV12ValveIsOpen"/>
  129. <Binding Path="PV22ValveIsOpen"/>
  130. <Binding Path="PV32ValveIsOpen"/>
  131. <Binding Path="PV42ValveIsOpen"/>
  132. </MultiBinding>
  133. </ctrls:FlowPipe.IsFlowing>
  134. </ctrls:FlowPipe>
  135. <!--SF6-->
  136. <ctrls:FlowPipe Height="8" Width="311" Canvas.Left="174" Canvas.Top="286" IsFlowing="{Binding MFC2ValveIsOpen}" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  137. <TextBlock Text="GPV2" Canvas.Left="430" Canvas.Top="264" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  138. <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}}"/>
  139. <ctrls:FlowPipe Height="8" Width="112" Canvas.Left="64" Canvas.Top="286" IsFlowing="{Binding PV21ValveIsOpen}" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  140. <ctrls:FlowPipe Height="8" Width="80" Canvas.Left="177" Canvas.Top="322" IsFlowing="{Binding PV22ValveIsOpen}" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  141. <ctrls:FlowPipe Height="8" Width="32" Canvas.Left="178" Canvas.Top="290" RotateTransformValue="90" IsFlowing="{Binding PV22ValveIsOpen}" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  142. <ctrls:Pipe2 Canvas.Left="183" Canvas.Top="330" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  143. <ctrls:Pipe4 Canvas.Left="241" Canvas.Top="281" HorizontalAlignment="Left" VerticalAlignment="Top"/>
  144. <ctrls:FlowPipe Height="8" Width="15" Canvas.Left="257" Canvas.Top="270" RotateTransformValue="90" IsReverse="True">
  145. <ctrls:FlowPipe.IsFlowing>
  146. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  147. <Binding Path="PV22ValveIsOpen"/>
  148. <Binding Path="PV32ValveIsOpen"/>
  149. <Binding Path="PV42ValveIsOpen"/>
  150. </MultiBinding>
  151. </ctrls:FlowPipe.IsFlowing>
  152. </ctrls:FlowPipe>
  153. <ctrls:FlowPipe Height="8" Width="30" Canvas.Left="257" Canvas.Top="296" RotateTransformValue="90" IsReverse="True" >
  154. <ctrls:FlowPipe.IsFlowing>
  155. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  156. <Binding Path="PV22ValveIsOpen"/>
  157. <Binding Path="PV32ValveIsOpen"/>
  158. <Binding Path="PV42ValveIsOpen"/>
  159. </MultiBinding>
  160. </ctrls:FlowPipe.IsFlowing>
  161. </ctrls:FlowPipe>
  162. <!--Gas3-->
  163. <ctrls:FlowPipe Height="8" Width="311" Canvas.Left="174" Canvas.Top="342" IsFlowing="{Binding MFC3ValveIsOpen}" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  164. <TextBlock Text="GPV3" Canvas.Left="430" Canvas.Top="320" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  165. <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}}"/>
  166. <ctrls:FlowPipe Height="8" Width="112" Canvas.Left="64" Canvas.Top="342" IsFlowing="{Binding PV31ValveIsOpen}" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  167. <ctrls:FlowPipe Height="8" Width="80" Canvas.Left="177" Canvas.Top="378" IsFlowing="{Binding PV32ValveIsOpen}" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  168. <ctrls:FlowPipe Height="8" Width="30" Canvas.Left="178" Canvas.Top="348" RotateTransformValue="90" IsFlowing="{Binding PV32ValveIsOpen}" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  169. <ctrls:Pipe2 Canvas.Left="183" Canvas.Top="386" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" />
  170. <ctrls:Pipe4 Canvas.Left="241" Canvas.Top="337" HorizontalAlignment="Left" VerticalAlignment="Top"/>
  171. <ctrls:FlowPipe Height="8" Width="17" Canvas.Left="257" Canvas.Top="324" RotateTransformValue="90" IsReverse="True" >
  172. <ctrls:FlowPipe.IsFlowing>
  173. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  174. <Binding Path="PV32ValveIsOpen"/>
  175. <Binding Path="PV42ValveIsOpen"/>
  176. </MultiBinding>
  177. </ctrls:FlowPipe.IsFlowing>
  178. </ctrls:FlowPipe>
  179. <ctrls:FlowPipe Height="8" Width="28" Canvas.Left="257" Canvas.Top="354" RotateTransformValue="90" IsReverse="True" >
  180. <ctrls:FlowPipe.IsFlowing>
  181. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  182. <Binding Path="PV32ValveIsOpen"/>
  183. <Binding Path="PV42ValveIsOpen"/>
  184. </MultiBinding>
  185. </ctrls:FlowPipe.IsFlowing>
  186. </ctrls:FlowPipe>
  187. <!--Gas4-->
  188. <ctrls:FlowPipe Height="8" Width="112" Canvas.Left="64" Canvas.Top="396" IsFlowing="{Binding PV41ValveIsOpen}"/>
  189. <ctrls:FlowPipe Height="8" Width="76" Canvas.Left="175" Canvas.Top="428" IsFlowing="{Binding PV42ValveIsOpen}"/>
  190. <ctrls:FlowPipe Height="8" Width="311" Canvas.Left="174" Canvas.Top="396" IsFlowing="{Binding MFC4ValveIsOpen}"/>
  191. <TextBlock Text="GPV4" Canvas.Left="430" Canvas.Top="374" FontSize="14"/>
  192. <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}}"/>
  193. <ctrls:Pipe4 Canvas.Left="241" Canvas.Top="392" HorizontalAlignment="Left" VerticalAlignment="Top"/>
  194. <ctrls:FlowPipe Height="8" Width="15" Canvas.Left="257" Canvas.Top="380" RotateTransformValue="90" IsReverse="True">
  195. <ctrls:FlowPipe.IsFlowing>
  196. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  197. <Binding Path="PV42ValveIsOpen"/>
  198. </MultiBinding>
  199. </ctrls:FlowPipe.IsFlowing>
  200. </ctrls:FlowPipe>
  201. <ctrls:FlowPipe Height="8" Width="15" Canvas.Left="257" Canvas.Top="408" RotateTransformValue="90" IsReverse="True">
  202. <ctrls:FlowPipe.IsFlowing>
  203. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  204. <Binding Path="PV42ValveIsOpen"/>
  205. </MultiBinding>
  206. </ctrls:FlowPipe.IsFlowing>
  207. </ctrls:FlowPipe>
  208. <ctrls:Pipe2 Canvas.Left="257" Canvas.Top="423" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="90" />
  209. <ctrls:FlowPipe Height="8" Width="30" Canvas.Left="178" Canvas.Top="401" RotateTransformValue="90" IsFlowing="{Binding PV42ValveIsOpen}"/>
  210. <ctrls:Pipe2 Canvas.Left="183" Canvas.Top="436" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" />
  211. <!--Gas5-->
  212. <ctrls:FlowPipe Height="8" Width="421" Canvas.Left="64" Canvas.Top="452" IsFlowing="{Binding MFC5ValveIsOpen}"/>
  213. <TextBlock Text="GPV5" Canvas.Left="430" Canvas.Top="430" FontSize="14"/>
  214. <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}}"/>
  215. <!--O2-->
  216. <ctrls:FlowPipe Height="8" Width="422" Canvas.Left="65" Canvas.Top="507" IsFlowing="{Binding MFC6ValveIsOpen}"/>
  217. <TextBlock Text="GPV6" Canvas.Left="430" Canvas.Top="485" FontSize="14"/>
  218. <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}}"/>
  219. <!--Gas7-->
  220. <ctrls:FlowPipe Height="8" Width="418" Canvas.Left="65" Canvas.Top="563" IsFlowing="{Binding MFC7ValveIsOpen}" Visibility="{Binding MFC7IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  221. <TextBlock Text="GPV7" Canvas.Left="430" Canvas.Top="541" Visibility="{Binding MFC7IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  222. <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}}"/>
  223. <!--Gas8-->
  224. <ctrls:FlowPipe Height="8" Width="448" Canvas.Left="68" Canvas.Top="620" IsFlowing="{Binding MFC8ValveIsOpen}" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  225. <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}}"/>
  226. <ctrls:FlowPipe Height="8" Width="298" Canvas.Left="515" Canvas.Top="160" IsFlowing="{Binding O2ValveIsOpen}" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}" >
  227. </ctrls:FlowPipe>
  228. <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}}">
  229. </ctrls:FlowPipe>
  230. <ctrls:Pipe2 Canvas.Left="520" Canvas.Top="615" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="90" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  231. <ctrls:Pipe2 Canvas.Left="512" Canvas.Top="173" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  232. <ctrls:Pipe2 Canvas.Left="815" Canvas.Top="155" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="90" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  233. <TextBlock Text="GPV8" Canvas.Left="430" Canvas.Top="598" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  234. <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}}"/>
  235. <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>
  236. <!--<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>-->
  237. <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>
  238. <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>
  239. <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>
  240. <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>
  241. <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>
  242. <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>
  243. <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>
  244. <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>
  245. <!--与chamber上方连接的管道-->
  246. <ctrls:FlowPipe Height="8" Width="180" Canvas.Left="482" Canvas.Top="120">
  247. <ctrls:FlowPipe.IsFlowing>
  248. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter5}">
  249. <Binding Path="GasFinalValveIsOpen"/>
  250. <Binding Path="PurgeValveIsOpen"/>
  251. <Binding Path="N2ValveIsOpen"/>
  252. <Binding Path="PV11ValveIsOpen"/>
  253. <Binding Path="PV21ValveIsOpen"/>
  254. <Binding Path="PV31ValveIsOpen"/>
  255. <Binding Path="PV41ValveIsOpen"/>
  256. <Binding Path="MFC5ValveIsOpen"/>
  257. <Binding Path="MFC6ValveIsOpen"/>
  258. <Binding Path="MFC7ValveIsOpen"/>
  259. </MultiBinding>
  260. </ctrls:FlowPipe.IsFlowing>
  261. </ctrls:FlowPipe>
  262. <ctrls:FlowPipe Height="8" Width="154" Canvas.Left="660" Canvas.Top="120">
  263. <ctrls:FlowPipe.IsFlowing>
  264. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter4}">
  265. <Binding Path="GasFinalValveIsOpen"/>
  266. <Binding Path="N2ValveIsOpen"/>
  267. <Binding Path="PV11ValveIsOpen"/>
  268. <Binding Path="PV21ValveIsOpen"/>
  269. <Binding Path="PV31ValveIsOpen"/>
  270. <Binding Path="PV41ValveIsOpen"/>
  271. <Binding Path="MFC5ValveIsOpen"/>
  272. <Binding Path="MFC6ValveIsOpen"/>
  273. <Binding Path="MFC7ValveIsOpen"/>
  274. </MultiBinding>
  275. </ctrls:FlowPipe.IsFlowing>
  276. </ctrls:FlowPipe>
  277. <ctrls:FlowPipe Height="8" Width="180" Canvas.Left="812" Canvas.Top="120">
  278. <ctrls:FlowPipe.IsFlowing>
  279. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter9}">
  280. <Binding Path="GasFinalValveIsOpen"/>
  281. <Binding Path="PurgeValveIsOpen"/>
  282. <Binding Path="O2ValveIsOpen"/>
  283. <Binding Path="N2ValveIsOpen"/>
  284. <Binding Path="PV11ValveIsOpen"/>
  285. <Binding Path="PV21ValveIsOpen"/>
  286. <Binding Path="PV31ValveIsOpen"/>
  287. <Binding Path="PV41ValveIsOpen"/>
  288. <Binding Path="MFC5ValveIsOpen"/>
  289. <Binding Path="MFC6ValveIsOpen"/>
  290. <Binding Path="MFC7ValveIsOpen"/>
  291. <Binding Path="MFC8ValveIsOpen"/>
  292. <Binding Path="PVN22ValveIsOpen"/>
  293. </MultiBinding>
  294. </ctrls:FlowPipe.IsFlowing>
  295. </ctrls:FlowPipe>
  296. <ctrls:FlowPipe Height="8" Width="474" Canvas.Left="332" Canvas.Top="80" IsFlowing="{Binding PurgeValveIsOpen}">
  297. <!--<ctrls:FlowPipe.IsFlowing>
  298. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter4}">
  299. <Binding Path="PurgeValveIsOpen"/>
  300. -->
  301. <!--<Binding Path="N2ValveIsOpen"/>-->
  302. <!--
  303. <Binding Path="PV11ValveIsOpen"/>
  304. <Binding Path="PV21ValveIsOpen"/>
  305. <Binding Path="PV31ValveIsOpen"/>
  306. <Binding Path="PV41ValveIsOpen"/>
  307. <Binding Path="MFC5ValveIsOpen"/>
  308. <Binding Path="MFC6ValveIsOpen"/>
  309. </MultiBinding>
  310. </ctrls:FlowPipe.IsFlowing>-->
  311. </ctrls:FlowPipe>
  312. <ctrls:FlowPipe Height="8" Width="36" Canvas.Left="815" Canvas.Top="85" RotateTransformValue="90" IsReverse="False" IsFlowing="{Binding PurgeValveIsOpen}">
  313. <!--<ctrls:FlowPipe.IsFlowing>
  314. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter4}">
  315. <Binding Path="PurgeValveIsOpen"/>
  316. -->
  317. <!--<Binding Path="N2ValveIsOpen"/>-->
  318. <!--
  319. <Binding Path="PV11ValveIsOpen"/>
  320. <Binding Path="PV21ValveIsOpen"/>
  321. <Binding Path="PV31ValveIsOpen"/>
  322. <Binding Path="PV41ValveIsOpen"/>
  323. <Binding Path="MFC5ValveIsOpen"/>
  324. <Binding Path="MFC6ValveIsOpen"/>
  325. </MultiBinding>
  326. </ctrls:FlowPipe.IsFlowing>-->
  327. </ctrls:FlowPipe>
  328. <ctrls:FlowPipe Height="8" Width="34" Canvas.Left="335" Canvas.Top="88" RotateTransformValue="90" IsReverse="True" IsFlowing="{Binding PurgeValveIsOpen}">
  329. <!--<ctrls:FlowPipe.IsFlowing>
  330. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter4}">
  331. <Binding Path="PurgeValveIsOpen"/>
  332. -->
  333. <!--<Binding Path="N2ValveIsOpen"/>-->
  334. <!--
  335. <Binding Path="PV11ValveIsOpen"/>
  336. <Binding Path="PV21ValveIsOpen"/>
  337. <Binding Path="PV31ValveIsOpen"/>
  338. <Binding Path="PV41ValveIsOpen"/>
  339. <Binding Path="MFC5ValveIsOpen"/>
  340. <Binding Path="MFC6ValveIsOpen"/>
  341. </MultiBinding>
  342. </ctrls:FlowPipe.IsFlowing>-->
  343. </ctrls:FlowPipe>
  344. <ctrls:Pipe2 Canvas.Left="802" Canvas.Top="80" HorizontalAlignment="Left" VerticalAlignment="Top" />
  345. <ctrls:Pipe2 Canvas.Left="327" Canvas.Top="93" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-90" />
  346. <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}}"/>
  347. <TextBlock Text="Purge V8" Canvas.Left="710" Canvas.Top="52" FontSize="14"/>
  348. <TextBlock Text="Gas Final V1" Canvas.Left="700" Canvas.Top="96" FontSize="14"/>
  349. <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}}"/>
  350. <TextBlock Text="O2 Valve V5" Canvas.Left="695" Canvas.Top="175" FontSize="14" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  351. <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}}"/>
  352. <ctrls:Pipe2 Canvas.Left="990" Canvas.Top="120" HorizontalAlignment="Left" VerticalAlignment="Top" />
  353. <ctrls:FlowPipe Name="l8" Height="8" Width="56" Canvas.Left="490" Canvas.Top="126" RotateTransformValue="90" IsReverse="True">
  354. <ctrls:FlowPipe.IsFlowing>
  355. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  356. <Binding Path="MFC1ValveIsOpen"/>
  357. <Binding Path="MFC2ValveIsOpen"/>
  358. <Binding Path="MFC3ValveIsOpen"/>
  359. <Binding Path="MFC4ValveIsOpen"/>
  360. <Binding Path="MFC5ValveIsOpen"/>
  361. <Binding Path="MFC6ValveIsOpen"/>
  362. <Binding Path="MFC7ValveIsOpen"/>
  363. </MultiBinding>
  364. </ctrls:FlowPipe.IsFlowing>
  365. </ctrls:FlowPipe>
  366. <ctrls:FlowPipe Height="8" Width="56" Canvas.Left="490" Canvas.Top="180" RotateTransformValue="90" IsReverse="True">
  367. <ctrls:FlowPipe.IsFlowing>
  368. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  369. <Binding Path="MFC1ValveIsOpen"/>
  370. <Binding Path="MFC2ValveIsOpen"/>
  371. <Binding Path="MFC3ValveIsOpen"/>
  372. <Binding Path="MFC4ValveIsOpen"/>
  373. <Binding Path="MFC5ValveIsOpen"/>
  374. <Binding Path="MFC6ValveIsOpen"/>
  375. <Binding Path="MFC7ValveIsOpen"/>
  376. </MultiBinding>
  377. </ctrls:FlowPipe.IsFlowing>
  378. </ctrls:FlowPipe>
  379. <ctrls:FlowPipe Height="8" Width="58" Canvas.Left="490" Canvas.Top="234" RotateTransformValue="90" IsReverse="True">
  380. <ctrls:FlowPipe.IsFlowing>
  381. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  382. <Binding Path="MFC2ValveIsOpen"/>
  383. <Binding Path="MFC3ValveIsOpen"/>
  384. <Binding Path="MFC4ValveIsOpen"/>
  385. <Binding Path="MFC5ValveIsOpen"/>
  386. <Binding Path="MFC6ValveIsOpen"/>
  387. <Binding Path="MFC7ValveIsOpen"/>
  388. </MultiBinding>
  389. </ctrls:FlowPipe.IsFlowing>
  390. </ctrls:FlowPipe>
  391. <ctrls:FlowPipe Height="8" Width="56" Canvas.Left="490" Canvas.Top="290" RotateTransformValue="90" IsReverse="True">
  392. <ctrls:FlowPipe.IsFlowing>
  393. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  394. <Binding Path="MFC3ValveIsOpen"/>
  395. <Binding Path="MFC4ValveIsOpen"/>
  396. <Binding Path="MFC5ValveIsOpen"/>
  397. <Binding Path="MFC6ValveIsOpen"/>
  398. <Binding Path="MFC7ValveIsOpen"/>
  399. </MultiBinding>
  400. </ctrls:FlowPipe.IsFlowing>
  401. </ctrls:FlowPipe>
  402. <ctrls:FlowPipe Height="8" Width="58" Canvas.Left="490" Canvas.Top="344" RotateTransformValue="90" IsReverse="True">
  403. <ctrls:FlowPipe.IsFlowing>
  404. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  405. <Binding Path="MFC4ValveIsOpen"/>
  406. <Binding Path="MFC5ValveIsOpen"/>
  407. <Binding Path="MFC6ValveIsOpen"/>
  408. <Binding Path="MFC7ValveIsOpen"/>
  409. </MultiBinding>
  410. </ctrls:FlowPipe.IsFlowing>
  411. </ctrls:FlowPipe>
  412. <ctrls:FlowPipe Height="8" Width="58" Canvas.Left="490" Canvas.Top="400" RotateTransformValue="90" IsReverse="True">
  413. <ctrls:FlowPipe.IsFlowing>
  414. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  415. <Binding Path="MFC5ValveIsOpen"/>
  416. <Binding Path="MFC6ValveIsOpen"/>
  417. <Binding Path="MFC7ValveIsOpen"/>
  418. </MultiBinding>
  419. </ctrls:FlowPipe.IsFlowing>
  420. </ctrls:FlowPipe>
  421. <ctrls:FlowPipe Height="8" Width="57" Canvas.Left="490" Canvas.Top="455" RotateTransformValue="90" IsReverse="True">
  422. <ctrls:FlowPipe.IsFlowing>
  423. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  424. <Binding Path="MFC6ValveIsOpen"/>
  425. <Binding Path="MFC7ValveIsOpen"/>
  426. </MultiBinding>
  427. </ctrls:FlowPipe.IsFlowing>
  428. </ctrls:FlowPipe>
  429. <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}}">
  430. </ctrls:FlowPipe>
  431. <!--<ctrls:FlowPipe Height="8" Width="48" Canvas.Left="490" Canvas.Top="568" RotateTransformValue="90" IsReverse="True">
  432. <ctrls:FlowPipe.IsFlowing>
  433. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  434. <Binding Path="MFC8ValveIsOpen"/>
  435. </MultiBinding>
  436. </ctrls:FlowPipe.IsFlowing>
  437. </ctrls:FlowPipe>-->
  438. <ctrls:FlowPipe Height="8" Width="110" Canvas.Left="1003" Canvas.Top="129" RotateTransformValue="90">
  439. <ctrls:FlowPipe.IsFlowing>
  440. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter9}">
  441. <Binding Path="GasFinalValveIsOpen"/>
  442. <Binding Path="PurgeValveIsOpen"/>
  443. <Binding Path="O2ValveIsOpen"/>
  444. <Binding Path="N2ValveIsOpen"/>
  445. <Binding Path="PV11ValveIsOpen"/>
  446. <Binding Path="PV21ValveIsOpen"/>
  447. <Binding Path="PV31ValveIsOpen"/>
  448. <Binding Path="PV41ValveIsOpen"/>
  449. <Binding Path="MFC5ValveIsOpen"/>
  450. <Binding Path="MFC6ValveIsOpen"/>
  451. <Binding Path="MFC7ValveIsOpen"/>
  452. <Binding Path="MFC8ValveIsOpen"/>
  453. <Binding Path="PVN22ValveIsOpen"/>
  454. </MultiBinding>
  455. </ctrls:FlowPipe.IsFlowing>
  456. </ctrls:FlowPipe>
  457. <!--阀-->
  458. <TextBlock Text="GPV41" Canvas.Left="116" Canvas.Top="374" FontSize="14"/>
  459. <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}}"/>
  460. <TextBlock Text="GPV31" Canvas.Left="116" Canvas.Top="320" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  461. <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}}"/>
  462. <TextBlock Text="GPV21" Canvas.Left="116" Canvas.Top="266" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  463. <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}}" />
  464. <TextBlock Text="GPV11" Canvas.Left="116" Canvas.Top="208" FontSize="14"/>
  465. <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}}"/>
  466. <TextBlock Text="GPV12" Canvas.Left="191" Canvas.Top="243" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  467. <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}}"/>
  468. <TextBlock Text="GPV22" Canvas.Left="191" Canvas.Top="300" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  469. <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}}"/>
  470. <TextBlock Text="GPV32" Canvas.Left="191" Canvas.Top="355" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}" FontSize="14"/>
  471. <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}}"/>
  472. <TextBlock Text="GPV42" Canvas.Left="191" Canvas.Top="405" FontSize="14"/>
  473. <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}}"/>
  474. <TextBlock Text="GPVN21" Canvas.Left="188" Canvas.Top="150" FontSize="14"/>
  475. <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}}"/>
  476. <!--左侧管道标签-->
  477. <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}}"/>
  478. <!--<TextBox Canvas.Top="205" Canvas.Left="250" Width="100" Text="{Binding MfcGas1Setpoint,Mode=TwoWay}"/>-->
  479. <ctrls:TextboxWithLabel Canvas.Top="204" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC1Data.FeedBack,StringFormat='F1'}" TextBoxColor="#E6ECF5" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  480. <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}}"/>
  481. <ctrls:TextboxWithLabel Canvas.Top="259" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC2Data.FeedBack,StringFormat='F1'}" TextBoxColor="#E6ECF5" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  482. <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}}"/>
  483. <ctrls:TextboxWithLabel Canvas.Top="317" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC3Data.FeedBack,StringFormat='F1'}" TextBoxColor="#E6ECF5" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  484. <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}"/>
  485. <ctrls:TextboxWithLabel Canvas.Top="370" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC4Data.FeedBack,StringFormat='F1'}" TextBoxColor="#E6ECF5"/>
  486. <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}"/>
  487. <ctrls:TextboxWithLabel Canvas.Top="426" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC5Data.FeedBack,StringFormat='F1'}" TextBoxColor="#E6ECF5"/>
  488. <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}"/>
  489. <ctrls:TextboxWithLabel Canvas.Top="482" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC6Data.FeedBack,StringFormat='F1'}" TextBoxColor="#E6ECF5"/>
  490. <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}}"/>
  491. <ctrls:TextboxWithLabel Canvas.Top="538" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC7Data.FeedBack,StringFormat='F1'}" TextBoxColor="#E6ECF5" Visibility="{Binding MFC7IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  492. <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}}"/>
  493. <ctrls:TextboxWithLabel Canvas.Top="595" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC8Data.FeedBack,StringFormat='F1'}" TextBoxColor="#E6ECF5" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}"/>
  494. <Ellipse Width="18" Height="18" Fill="{Binding GasIsFlowing,Converter={StaticResource boolToColor}}" Canvas.Left="550" Canvas.Top="589" Stroke="Silver" StrokeThickness="0"/>
  495. <Button Width="100" Content="Gas ON/OFF" Canvas.Left="580" Canvas.Top="590" Command="{Binding GasCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>
  496. <TextBlock FontSize="14" Text="Vent N2" Canvas.Left="0" Canvas.Top="117" Foreground="Black" Block.TextAlignment="Right" Width="50"/>
  497. <TextBlock FontSize="14" Canvas.Left="0" Canvas.Top="220" Block.TextAlignment="Left" MaxWidth="165" Visibility="{Binding MFC1IsEnable,Converter={StaticResource BoolToVisibility2}}">
  498. <TextBlock.Text>
  499. <MultiBinding StringFormat="{}{0}:&#10;{1}">
  500. <Binding Path="MFC1Data.DisplayName"></Binding>
  501. <Binding Path="MFC1Data.Scale"></Binding>
  502. </MultiBinding>
  503. </TextBlock.Text>
  504. </TextBlock>
  505. <TextBlock FontSize="14" Canvas.Left="0" Canvas.Top="273" Block.TextAlignment="Left" Visibility="{Binding MFC2IsEnable,Converter={StaticResource BoolToVisibility2}}">
  506. <TextBlock.Text>
  507. <MultiBinding StringFormat="{}{0}:&#10;{1}">
  508. <Binding Path="MFC2Data.DisplayName"></Binding>
  509. <Binding Path="MFC2Data.Scale"></Binding>
  510. </MultiBinding>
  511. </TextBlock.Text>
  512. </TextBlock>
  513. <TextBlock FontSize="14" Canvas.Left="0" Canvas.Top="330" Block.TextAlignment="Left" MaxWidth="165" Visibility="{Binding MFC3IsEnable,Converter={StaticResource BoolToVisibility2}}">
  514. <TextBlock.Text>
  515. <MultiBinding StringFormat="{}{0}:&#10;{1}">
  516. <Binding Path="MFC3Data.DisplayName"></Binding>
  517. <Binding Path="MFC3Data.Scale"></Binding>
  518. </MultiBinding>
  519. </TextBlock.Text>
  520. </TextBlock>
  521. <TextBlock FontSize="14" Canvas.Left="0" Canvas.Top="382" Block.TextAlignment="Left" MaxWidth="165" Visibility="{Binding MFC4IsEnable,Converter={StaticResource BoolToVisibility2}}">
  522. <TextBlock.Text>
  523. <MultiBinding StringFormat="{}{0}:&#10;{1}">
  524. <Binding Path="MFC4Data.DisplayName"></Binding>
  525. <Binding Path="MFC4Data.Scale"></Binding>
  526. </MultiBinding>
  527. </TextBlock.Text>
  528. </TextBlock>
  529. <TextBlock FontSize="14" Canvas.Left="0" Canvas.Top="440" Block.TextAlignment="Left" MaxWidth="165" Visibility="{Binding MFC5IsEnable,Converter={StaticResource BoolToVisibility2}}">
  530. <TextBlock.Text>
  531. <MultiBinding StringFormat="{}{0}:&#10;{1}">
  532. <Binding Path="MFC5Data.DisplayName"></Binding>
  533. <Binding Path="MFC5Data.Scale"></Binding>
  534. </MultiBinding>
  535. </TextBlock.Text>
  536. </TextBlock>
  537. <TextBlock FontSize="14" Canvas.Left="0" Canvas.Top="496" Block.TextAlignment="Left" MaxWidth="165" Visibility="{Binding MFC6IsEnable,Converter={StaticResource BoolToVisibility2}}">
  538. <TextBlock.Text>
  539. <MultiBinding StringFormat="{}{0}:&#10;{1}">
  540. <Binding Path="MFC6Data.DisplayName"></Binding>
  541. <Binding Path="MFC6Data.Scale"></Binding>
  542. </MultiBinding>
  543. </TextBlock.Text>
  544. </TextBlock>
  545. <TextBlock FontSize="14" Canvas.Left="0" Canvas.Top="552" Block.TextAlignment="Left" MaxWidth="165" Visibility="{Binding MFC7IsEnable,Converter={StaticResource BoolToVisibility2}}">
  546. <TextBlock.Text>
  547. <MultiBinding StringFormat="{}{0}:&#10;{1}">
  548. <Binding Path="MFC7Data.DisplayName"></Binding>
  549. <Binding Path="MFC7Data.Scale"></Binding>
  550. </MultiBinding>
  551. </TextBlock.Text>
  552. </TextBlock>
  553. <TextBlock FontSize="14" Canvas.Left="0" Canvas.Top="608" Block.TextAlignment="Left" MaxWidth="165" Visibility="{Binding MFC8IsEnable,Converter={StaticResource BoolToVisibility2}}">
  554. <TextBlock.Text>
  555. <MultiBinding StringFormat="{}{0}:&#10;{1}">
  556. <Binding Path="MFC8Data.DisplayName"></Binding>
  557. <Binding Path="MFC8Data.Scale"></Binding>
  558. </MultiBinding>
  559. </TextBlock.Text>
  560. </TextBlock>
  561. <TextBlock Text="V4" Canvas.Left="1142" Canvas.Top="320" FontSize="14"/>
  562. <ctrls:FlowPipe Height="8" Width="100" Canvas.Left="1114" Canvas.Top="342" />
  563. <customControls:CommonValveControl ValveOrientation="Horizontal" Status="{Binding PenningGaugeValveIsOpen,Mode=TwoWay}" Height="20" Width="20" Canvas.Left="1140" Canvas.Top="336" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="59" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  564. <ctrls:TextboxWithLabel Canvas.Top="316" Canvas.Left="1170" LabelValue="{Binding PressureType, StringFormat=Penning Guage({0})}" TextBoxValue="{Binding PenningPressure,StringFormat='F1'}" TextBoxColor="#E6ECF5"/>
  565. <ctrls:ChamberWithHeater Canvas.Left="880" Canvas.Top="250"
  566. IsOpenSlitDoor="{Binding IsSlitDoorClosed,Converter={StaticResource BoolToBool}}"
  567. IsLidOpen="{Binding IsLidClosed,Converter={StaticResource BoolToBool}}"
  568. IsSRFOn="{Binding SRFData.IsRfOn}"
  569. IsHasWafer="{Binding IsHasWafer}"
  570. WaferID="{Binding WaferID}"
  571. ModuleName="{Binding ModuleName}"
  572. HeaterPosition="{Binding HighTemperatureHeaterData.HighTemperatureHeaterPositionFeedBack}"
  573. IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"
  574. />
  575. </Canvas >
  576. <DataGrid Canvas.Top="600" Height="220" AutoGenerateColumns="False" BorderThickness="0.1" FontSize="12" MinRowHeight="20"
  577. CanUserAddRows="False" CanUserDeleteRows="False" CanUserReorderColumns="False" CanUserResizeColumns="True" CanUserResizeRows="False" CanUserSortColumns="False"
  578. SelectionMode="Single" SelectionUnit="FullRow" Background="#05000000" HorizontalScrollBarVisibility="Disabled"
  579. ItemsSource="{Binding LeakCheckResultList}" SelectedItem="{Binding CurrentLeakCheckResultItem}" FontFamily="Arial,SimSun" Canvas.Left="50">
  580. <DataGrid.Columns>
  581. <DataGridTextColumn Width="160" Binding="{Binding CheckDate}" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" >
  582. <DataGridTextColumn.HeaderTemplate >
  583. <DataTemplate>
  584. <TextBlock Text="CheckDate" />
  585. </DataTemplate>
  586. </DataGridTextColumn.HeaderTemplate>
  587. </DataGridTextColumn>
  588. <!--<DataGridTextColumn Width="150" Binding="{Binding StartPressure}" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" >
  589. <DataGridTextColumn.HeaderTemplate >
  590. <DataTemplate>
  591. <TextBlock Text="Penning Guage Pressure" />
  592. </DataTemplate>
  593. </DataGridTextColumn.HeaderTemplate>
  594. </DataGridTextColumn>-->
  595. <DataGridTextColumn Width="120" Binding="{Binding StartPressure}" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" >
  596. <DataGridTextColumn.HeaderTemplate >
  597. <DataTemplate>
  598. <TextBlock Text="BasePressure" />
  599. </DataTemplate>
  600. </DataGridTextColumn.HeaderTemplate>
  601. </DataGridTextColumn>
  602. <DataGridTextColumn Width="120" Binding="{Binding LeakRate}" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" >
  603. <DataGridTextColumn.HeaderTemplate >
  604. <DataTemplate>
  605. <TextBlock Text="LeakRate" />
  606. </DataTemplate>
  607. </DataGridTextColumn.HeaderTemplate>
  608. </DataGridTextColumn>
  609. <DataGridTextColumn Width="200" Binding="{Binding CheckMode}" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" >
  610. <DataGridTextColumn.HeaderTemplate >
  611. <DataTemplate>
  612. <TextBlock Text="CheckMode" />
  613. </DataTemplate>
  614. </DataGridTextColumn.HeaderTemplate>
  615. </DataGridTextColumn>
  616. <DataGridTextColumn Width="400" Binding="{Binding GasLines}" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" >
  617. <DataGridTextColumn.HeaderTemplate >
  618. <DataTemplate>
  619. <TextBlock Text="Gas Lines" />
  620. </DataTemplate>
  621. </DataGridTextColumn.HeaderTemplate>
  622. </DataGridTextColumn>
  623. <DataGridTextColumn Width="200" Binding="{Binding Result}" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" >
  624. <DataGridTextColumn.HeaderTemplate >
  625. <DataTemplate>
  626. <TextBlock Text="Result" />
  627. </DataTemplate>
  628. </DataGridTextColumn.HeaderTemplate>
  629. </DataGridTextColumn>
  630. </DataGrid.Columns>
  631. </DataGrid>
  632. </Canvas>
  633. <Canvas Grid.Column="1" Background="#C7D2DF">
  634. <Canvas Canvas.Left="50" Canvas.Top="30">
  635. <Grid Width="400" Height="440" Background="White" unity:GridOptions.ShowBorder="True" unity:GridOptions.LineBrush="#E5E6E7" Canvas.Top="40">
  636. <Grid.RowDefinitions>
  637. <RowDefinition Height="40"/>
  638. <RowDefinition/>
  639. <RowDefinition/>
  640. <RowDefinition/>
  641. <RowDefinition/>
  642. <RowDefinition/>
  643. <RowDefinition/>
  644. <RowDefinition/>
  645. <RowDefinition/>
  646. <RowDefinition/>
  647. <RowDefinition/>
  648. <RowDefinition/>
  649. <RowDefinition/>
  650. <RowDefinition/>
  651. <RowDefinition/>
  652. <RowDefinition/>
  653. <RowDefinition/>
  654. <!--<RowDefinition Height="0"/>-->
  655. </Grid.RowDefinitions>
  656. <Grid.ColumnDefinitions>
  657. <ColumnDefinition Width="3*"/>
  658. <ColumnDefinition Width="2*"/>
  659. </Grid.ColumnDefinitions>
  660. <TextBlock Grid.Row="0" Grid.ColumnSpan="2" Text="Leak Check Setting" FontSize="22" Padding="90,5,0,0" Background="#FFFFFF"/>
  661. <TextBlock Grid.Row="1" Text="Pumping Time(s)" FontSize="15" VerticalAlignment="Center" Padding="10" />
  662. <TextBlock Grid.Row="2" Text="Leak Check Time(s)" FontSize="15" VerticalAlignment="Center" Padding="10" />
  663. <TextBlock Grid.Row="3" Text="{Binding PressureType, StringFormat=Leak Rate Limit({0}/min)}" FontSize="15" VerticalAlignment="Center" Padding="10" />
  664. <TextBlock Grid.Row="4" Text="Leak Check Mode" FontSize="15" VerticalAlignment="Center" Padding="10" />
  665. <TextBlock Grid.Row="5" Text="Select All" FontSize="15" VerticalAlignment="Center" Padding="10" />
  666. <TextBlock Grid.Row="6" Text="Vent N2" FontSize="15" VerticalAlignment="Center" Padding="10" />
  667. <TextBlock Grid.Row="7" Text="MfcGas1" FontSize="15" VerticalAlignment="Center" Padding="10" />
  668. <TextBlock Grid.Row="8" Text="MfcGas2" FontSize="15" VerticalAlignment="Center" Padding="10" />
  669. <TextBlock Grid.Row="9" Text="MfcGas3" FontSize="15" VerticalAlignment="Center" Padding="10" />
  670. <TextBlock Grid.Row="10" Text="MfcGas4" FontSize="15" VerticalAlignment="Center" Padding="10" />
  671. <TextBlock Grid.Row="11" Text="MfcGas5" FontSize="15" VerticalAlignment="Center" Padding="10" />
  672. <TextBlock Grid.Row="12" Text="MfcGas6" FontSize="15" VerticalAlignment="Center" Padding="10" />
  673. <TextBlock Grid.Row="13" Text="MfcGas7" FontSize="15" VerticalAlignment="Center" Padding="10" />
  674. <TextBlock Grid.Row="14" Text="MfcGas8" FontSize="15" VerticalAlignment="Center" Padding="10" />
  675. <TextBlock Grid.Row="15" Text="State" FontSize="15" VerticalAlignment="Center" Padding="10" />
  676. <TextBlock Grid.Row="16" Text="Time(s)" FontSize="15" VerticalAlignment="Center" Padding="10" />
  677. <!--<TextBlock Grid.Row="17" Text="当前压力" FontSize="15" VerticalAlignment="Center" Padding="10" />-->
  678. <TextBox Grid.Row="1" Grid.Column="1" BorderThickness="0" VerticalContentAlignment="Center" Text="{Binding VentTime,UpdateSourceTrigger=PropertyChanged}"/>
  679. <TextBox Grid.Row="2" Grid.Column="1" BorderThickness="0" VerticalContentAlignment="Center" Text="{Binding CheckTime,UpdateSourceTrigger=PropertyChanged}"/>
  680. <TextBox Grid.Row="3" Grid.Column="1" BorderThickness="0" VerticalContentAlignment="Center" Text="{Binding LeakRateUpperLimit,UpdateSourceTrigger=PropertyChanged}"/>
  681. <ComboBox Grid.Row="4" Grid.Column="1" BorderBrush="Transparent" Margin="0" ItemsSource="{Binding LeakCheckMode}" SelectedIndex="{Binding LeakCheckModeSelectedIndex}" Style="{StaticResource customeComboBoxStyle}" BorderThickness="0"/>
  682. <CheckBox Grid.Row="5" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}">
  683. <CheckBox.IsChecked>
  684. <MultiBinding Converter="{StaticResource AllNoneCheckboxConverter}">
  685. <Binding ElementName="n2CheckBox" Path="IsChecked"/>
  686. <Binding ElementName="gas1CheckBox" Path="IsChecked"/>
  687. <Binding ElementName="gas2CheckBox" Path="IsChecked"/>
  688. <Binding ElementName="gas3CheckBox" Path="IsChecked"/>
  689. <Binding ElementName="gas4CheckBox" Path="IsChecked"/>
  690. <Binding ElementName="gas5CheckBox" Path="IsChecked"/>
  691. <Binding ElementName="gas6CheckBox" Path="IsChecked"/>
  692. <Binding ElementName="gas7CheckBox" Path="IsChecked"/>
  693. <Binding ElementName="gas8CheckBox" Path="IsChecked"/>
  694. </MultiBinding>
  695. </CheckBox.IsChecked>
  696. </CheckBox>
  697. <CheckBox x:Name="n2CheckBox" Grid.Row="6" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[0]}" />
  698. <CheckBox x:Name="gas1CheckBox" Grid.Row="7" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[1]}"/>
  699. <CheckBox x:Name="gas2CheckBox" Grid.Row="8" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[2]}"/>
  700. <CheckBox x:Name="gas3CheckBox" Grid.Row="9" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[3]}"/>
  701. <CheckBox x:Name="gas4CheckBox" Grid.Row="10" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[4]}"/>
  702. <CheckBox x:Name="gas5CheckBox" Grid.Row="11" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[5]}"/>
  703. <CheckBox x:Name="gas6CheckBox" Grid.Row="12" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[6]}"/>
  704. <CheckBox x:Name="gas7CheckBox" Grid.Row="13" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[7]}"/>
  705. <CheckBox x:Name="gas8CheckBox" Grid.Row="14" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[8]}"/>
  706. <TextBlock Grid.Row="15" Grid.Column="1" Text="{Binding CurrentStep}" Padding="2,5,0,0"/>
  707. <TextBlock Grid.Row="16" Grid.Column="1" Text="{Binding StepTime, StringFormat=hh\\:mm\\:ss}" Padding="2,5,0,0"/>
  708. <!--<TextBlock Grid.Row="17" Grid.Column="1"/>-->
  709. </Grid>
  710. <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}}"/>
  711. <!--<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}}"/>-->
  712. <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}}"/>
  713. </Canvas>
  714. <Canvas Canvas.Left="50" Canvas.Top="550">
  715. <Grid Width="400" Height="200" Background="White" unity:GridOptions.ShowBorder="True" unity:GridOptions.LineBrush="#E5E6E7" Canvas.Top="40">
  716. <Grid.RowDefinitions>
  717. <RowDefinition Height="40"/>
  718. <RowDefinition/>
  719. <RowDefinition/>
  720. <RowDefinition/>
  721. <RowDefinition/>
  722. <RowDefinition/>
  723. </Grid.RowDefinitions>
  724. <Grid.ColumnDefinitions>
  725. <ColumnDefinition Width="3*"/>
  726. <ColumnDefinition Width="2*"/>
  727. </Grid.ColumnDefinitions>
  728. <TextBlock Grid.Row="0" Grid.ColumnSpan="2" Text="Gas Purge Setting" FontSize="22" Padding="90,5,0,0" Background="#FFFFFF"/>
  729. <!--<TextBlock Grid.Row="1" Text="Pumping Time(s)" FontSize="15" VerticalAlignment="Center" Padding="10" />
  730. <TextBlock Grid.Row="2" Text="Leak Check Time(s)" FontSize="15" VerticalAlignment="Center" Padding="10" />
  731. <TextBlock Grid.Row="3" Text="{Binding PressureType, StringFormat=Leak Rate Limit({0}/min)}" FontSize="15" VerticalAlignment="Center" Padding="10" />
  732. <TextBlock Grid.Row="4" Text="Leak Check Mode" FontSize="15" VerticalAlignment="Center" Padding="10" />-->
  733. <TextBlock Grid.Row="1" Text="Select All" FontSize="15" VerticalAlignment="Center" Padding="10" />
  734. <!--<TextBlock Grid.Row="6" Text="Vent N2" FontSize="15" VerticalAlignment="Center" Padding="10" />-->
  735. <TextBlock Grid.Row="2" Text="MfcGas1" FontSize="15" VerticalAlignment="Center" Padding="10" />
  736. <TextBlock Grid.Row="3" Text="MfcGas2" FontSize="15" VerticalAlignment="Center" Padding="10" />
  737. <TextBlock Grid.Row="4" Text="MfcGas3" FontSize="15" VerticalAlignment="Center" Padding="10" />
  738. <TextBlock Grid.Row="5" Text="MfcGas4" FontSize="15" VerticalAlignment="Center" Padding="10" />
  739. <!--<TextBlock Grid.Row="11" Text="MfcGas5" FontSize="15" VerticalAlignment="Center" Padding="10" />
  740. <TextBlock Grid.Row="12" Text="MfcGas6" FontSize="15" VerticalAlignment="Center" Padding="10" />
  741. <TextBlock Grid.Row="13" Text="MfcGas7" FontSize="15" VerticalAlignment="Center" Padding="10" />
  742. <TextBlock Grid.Row="14" Text="MfcGas8" FontSize="15" VerticalAlignment="Center" Padding="10" />
  743. <TextBlock Grid.Row="15" Text="State" FontSize="15" VerticalAlignment="Center" Padding="10" />
  744. <TextBlock Grid.Row="16" Text="Time(s)" FontSize="15" VerticalAlignment="Center" Padding="10" />-->
  745. <!--<TextBlock Grid.Row="17" Text="当前压力" FontSize="15" VerticalAlignment="Center" Padding="10" />-->
  746. <!--<TextBox Grid.Row="1" Grid.Column="1" BorderThickness="0" VerticalContentAlignment="Center" Text="{Binding VentTime,UpdateSourceTrigger=PropertyChanged}"/>
  747. <TextBox Grid.Row="2" Grid.Column="1" BorderThickness="0" VerticalContentAlignment="Center" Text="{Binding CheckTime,UpdateSourceTrigger=PropertyChanged}"/>
  748. <TextBox Grid.Row="3" Grid.Column="1" BorderThickness="0" VerticalContentAlignment="Center" Text="{Binding LeakRateUpperLimit,UpdateSourceTrigger=PropertyChanged}"/>-->
  749. <!--<ComboBox Grid.Row="4" Grid.Column="1" BorderBrush="Transparent" Margin="0" ItemsSource="{Binding LeakCheckMode}" SelectedIndex="{Binding LeakCheckModeSelectedIndex}" Style="{StaticResource customeComboBoxStyle}" BorderThickness="0"/>-->
  750. <CheckBox Grid.Row="1" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center">
  751. <CheckBox.IsChecked>
  752. <MultiBinding Converter="{StaticResource AllNoneCheckboxConverter}">
  753. <!--<Binding ElementName="n2CheckBox" Path="IsChecked"/>-->
  754. <Binding ElementName="gas1CheckBox2" Path="IsChecked"/>
  755. <Binding ElementName="gas2CheckBox2" Path="IsChecked"/>
  756. <Binding ElementName="gas3CheckBox2" Path="IsChecked"/>
  757. <Binding ElementName="gas4CheckBox2" Path="IsChecked"/>
  758. <!--<Binding ElementName="gas5CheckBox" Path="IsChecked"/>
  759. <Binding ElementName="gas6CheckBox" Path="IsChecked"/>
  760. <Binding ElementName="gas7CheckBox" Path="IsChecked"/>
  761. <Binding ElementName="gas8CheckBox" Path="IsChecked"/>-->
  762. </MultiBinding>
  763. </CheckBox.IsChecked>
  764. </CheckBox>
  765. <!--<CheckBox x:Name="n2CheckBox" Grid.Row="6" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[0]}" />-->
  766. <CheckBox x:Name="gas1CheckBox2" Grid.Row="2" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsChecked="{Binding PurgeGasIsCheck[1]}"/>
  767. <CheckBox x:Name="gas2CheckBox2" Grid.Row="3" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsChecked="{Binding PurgeGasIsCheck[2]}"/>
  768. <CheckBox x:Name="gas3CheckBox2" Grid.Row="4" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsChecked="{Binding PurgeGasIsCheck[3]}"/>
  769. <CheckBox x:Name="gas4CheckBox2" Grid.Row="5" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsChecked="{Binding PurgeGasIsCheck[4]}"/>
  770. <!--<CheckBox x:Name="gas5CheckBox" Grid.Row="11" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[5]}"/>
  771. <CheckBox x:Name="gas6CheckBox" Grid.Row="12" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[6]}"/>
  772. <CheckBox x:Name="gas7CheckBox" Grid.Row="13" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[7]}"/>
  773. <CheckBox x:Name="gas8CheckBox" Grid.Row="14" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[8]}"/>-->
  774. <!--<TextBlock Grid.Row="15" Grid.Column="1" Text="{Binding CurrentStep}" Padding="2,5,0,0"/>
  775. <TextBlock Grid.Row="16" Grid.Column="1" Text="{Binding StepTime, StringFormat=hh\\:mm\\:ss}" Padding="2,5,0,0"/>-->
  776. <!--<TextBlock Grid.Row="17" Grid.Column="1"/>-->
  777. </Grid>
  778. <!--<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}}"/>-->
  779. <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}}"/>
  780. <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}}"/>
  781. </Canvas>
  782. </Canvas>
  783. </Grid>
  784. </UserControl>