GasLeakCheckView.xaml 51 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653
  1. <UserControl x:Class="Venus_MainPages.Views.GasLeakCheckView"
  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="450" d:DesignWidth="2000">
  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:BoolToColor x:Key="boolToColor"/>
  34. <converters:BoolToColor2 x:Key="boolToColor2"/>
  35. <converters:BoolToColor3 x:Key="boolToColor3"/>
  36. <converters:BoolToColor4 x:Key="boolToColor4"/>
  37. <converters:BoolToColor5 x:Key="boolToColor5"/>
  38. <converters:BoolToBool x:Key="BoolToBool"/>
  39. <converters:IntToBoolConverter x:Key="converters:IntToBoolConverter"/>
  40. <converters:IntToBoolConverter2 x:Key="converters:IntToBoolConverter2"/>
  41. <converters:BoolToVisibility x:Key="BoolToVisibility"/>
  42. <converters2:AllNoneCheckboxConverter x:Key="AllNoneCheckboxConverter"/>
  43. <converters2:BoolToHeightConverter x:Key="BoolToHeightConverter"/>
  44. </UserControl.Resources>
  45. <Canvas>
  46. <Canvas Canvas.Top="-80">
  47. <Image Canvas.Top="111" Canvas.Left="610" Width="40" Height="25" Source="Pack://application:,,,/Venus_Themes;Component/Resources/Arrow.png" Stretch="Uniform" />
  48. <ctrls:Pipe2 Canvas.Left="490" Canvas.Top="615" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="90" Visibility="{Binding MFC7IsEnable,Converter={StaticResource bool2VisibilityConverter}}"/>
  49. <!--N2-->
  50. <ctrls:FlowPipe Name="N2Pipe2" Height="8" Width="230" Canvas.Left="255" Canvas.Top="120">
  51. <ctrls:FlowPipe.IsFlowing>
  52. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter}">
  53. <Binding Path="PVN22ValveIsOpen"/>
  54. <Binding Path="N2ValveIsOpen"/>
  55. <Binding Path="GasFinalValveIsOpen"/>
  56. </MultiBinding>
  57. </ctrls:FlowPipe.IsFlowing>
  58. </ctrls:FlowPipe>
  59. <TextBlock Text="Vent Valve" Canvas.Left="416" Canvas.Top="90"/>
  60. <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}}"/>
  61. <ctrls:FlowPipe x:Name="N2Pipe1" Height="8" Width="193" Canvas.Left="64" Canvas.Top="120">
  62. <ctrls:FlowPipe.IsFlowing>
  63. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter3}">
  64. <Binding Path="PVN21ValveIsOpen"/>
  65. <Binding Path="PVN22ValveIsOpen"/>
  66. <Binding Path="N2ValveIsOpen"/>
  67. <Binding Path="GasFinalValveIsOpen"/>
  68. </MultiBinding>
  69. </ctrls:FlowPipe.IsFlowing>
  70. </ctrls:FlowPipe>
  71. <TextBlock Text="VN22" Canvas.Left="280" Canvas.Top="90"/>
  72. <customControls:CommonValveControl Status="{Binding PVN22ValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="288" Canvas.Top="114" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="1" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  73. <ctrls:FlowPipe Height="8" Width="308" Canvas.Left="176" Canvas.Top="230" IsFlowing="{Binding MFC1ValveIsOpen}"/>
  74. <TextBlock Text="V1" Canvas.Left="438" Canvas.Top="208"/>
  75. <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}}"/>
  76. <ctrls:FlowPipe Height="8" Width="114" Canvas.Left="64" Canvas.Top="230" IsFlowing="{Binding PV11ValveIsOpen}"/>
  77. <ctrls:FlowPipe Height="8" Width="80" Canvas.Left="177" Canvas.Top="266" IsFlowing="{Binding PV12ValveIsOpen}"/>
  78. <!--<ctrls:Pipe2 Canvas.Left="214" Canvas.Top="274" RotateTransformValue="-180"/>-->
  79. <ctrls:FlowPipe Height="8" Width="30" Canvas.Left="178" Canvas.Top="236" RotateTransformValue="90" IsFlowing="{Binding PV12ValveIsOpen}"/>
  80. <ctrls:Pipe2 Canvas.Left="183" Canvas.Top="274" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" />
  81. <ctrls:FlowPipe Height="8" Width="145" Canvas.Left="257" Canvas.Top="126" RotateTransformValue="90" IsReverse="True">
  82. <ctrls:FlowPipe.IsFlowing>
  83. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  84. <Binding Path="PV12ValveIsOpen"/>
  85. <Binding Path="PV22ValveIsOpen"/>
  86. <Binding Path="PV32ValveIsOpen"/>
  87. <Binding Path="PV42ValveIsOpen"/>
  88. </MultiBinding>
  89. </ctrls:FlowPipe.IsFlowing>
  90. </ctrls:FlowPipe>
  91. <!--SF6-->
  92. <ctrls:FlowPipe Height="8" Width="310" Canvas.Left="174" Canvas.Top="286" IsFlowing="{Binding MFC2ValveIsOpen}"/>
  93. <TextBlock Text="V2" Canvas.Left="438" Canvas.Top="264"/>
  94. <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}}"/>
  95. <ctrls:FlowPipe Height="8" Width="112" Canvas.Left="64" Canvas.Top="286" IsFlowing="{Binding PV21ValveIsOpen}"/>
  96. <ctrls:FlowPipe Height="8" Width="80" Canvas.Left="177" Canvas.Top="322" IsFlowing="{Binding PV22ValveIsOpen}"/>
  97. <ctrls:FlowPipe Height="8" Width="32" Canvas.Left="178" Canvas.Top="290" RotateTransformValue="90" IsFlowing="{Binding PV22ValveIsOpen}"/>
  98. <ctrls:Pipe2 Canvas.Left="183" Canvas.Top="330" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" />
  99. <ctrls:FlowPipe Height="8" Width="55" Canvas.Left="257" Canvas.Top="270" RotateTransformValue="90" IsReverse="True" >
  100. <ctrls:FlowPipe.IsFlowing>
  101. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  102. <Binding Path="PV22ValveIsOpen"/>
  103. <Binding Path="PV32ValveIsOpen"/>
  104. <Binding Path="PV42ValveIsOpen"/>
  105. </MultiBinding>
  106. </ctrls:FlowPipe.IsFlowing>
  107. </ctrls:FlowPipe>
  108. <!--Gas3-->
  109. <ctrls:FlowPipe Height="8" Width="310" Canvas.Left="174" Canvas.Top="342" IsFlowing="{Binding MFC3ValveIsOpen}"/>
  110. <TextBlock Text="V3" Canvas.Left="438" Canvas.Top="320"/>
  111. <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}}"/>
  112. <ctrls:FlowPipe Height="8" Width="112" Canvas.Left="64" Canvas.Top="342" IsFlowing="{Binding PV31ValveIsOpen}"/>
  113. <ctrls:FlowPipe Height="8" Width="80" Canvas.Left="177" Canvas.Top="378" IsFlowing="{Binding PV32ValveIsOpen}"/>
  114. <ctrls:FlowPipe Height="8" Width="30" Canvas.Left="178" Canvas.Top="348" RotateTransformValue="90" IsFlowing="{Binding PV32ValveIsOpen}"/>
  115. <ctrls:Pipe2 Canvas.Left="183" Canvas.Top="386" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" />
  116. <ctrls:FlowPipe Height="8" Width="57" Canvas.Left="257" Canvas.Top="324" RotateTransformValue="90" IsReverse="True" >
  117. <ctrls:FlowPipe.IsFlowing>
  118. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  119. <Binding Path="PV32ValveIsOpen"/>
  120. <Binding Path="PV42ValveIsOpen"/>
  121. </MultiBinding>
  122. </ctrls:FlowPipe.IsFlowing>
  123. </ctrls:FlowPipe>
  124. <!--Gas4-->
  125. <ctrls:FlowPipe Height="8" Width="112" Canvas.Left="64" Canvas.Top="396" IsFlowing="{Binding PV41ValveIsOpen}"/>
  126. <ctrls:FlowPipe Height="8" Width="76" Canvas.Left="175" Canvas.Top="428" IsFlowing="{Binding PV42ValveIsOpen}"/>
  127. <ctrls:FlowPipe Height="8" Width="310" Canvas.Left="174" Canvas.Top="396" IsFlowing="{Binding MFC4ValveIsOpen}"/>
  128. <TextBlock Text="V4" Canvas.Left="438" Canvas.Top="374"/>
  129. <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}}"/>
  130. <ctrls:FlowPipe Height="8" Width="50" Canvas.Left="257" Canvas.Top="380" RotateTransformValue="90" IsReverse="True">
  131. <ctrls:FlowPipe.IsFlowing>
  132. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  133. <Binding Path="PV42ValveIsOpen"/>
  134. </MultiBinding>
  135. </ctrls:FlowPipe.IsFlowing>
  136. </ctrls:FlowPipe>
  137. <ctrls:Pipe2 Canvas.Left="257" Canvas.Top="423" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="90" />
  138. <ctrls:FlowPipe Height="8" Width="30" Canvas.Left="178" Canvas.Top="401" RotateTransformValue="90" IsFlowing="{Binding PV42ValveIsOpen}"/>
  139. <ctrls:Pipe2 Canvas.Left="183" Canvas.Top="436" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="-180" />
  140. <!--Gas5-->
  141. <ctrls:FlowPipe Height="8" Width="419" Canvas.Left="64" Canvas.Top="452" IsFlowing="{Binding MFC5ValveIsOpen}"/>
  142. <TextBlock Text="V5" Canvas.Left="438" Canvas.Top="430"/>
  143. <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}}"/>
  144. <!--O2-->
  145. <ctrls:FlowPipe Height="8" Width="419" Canvas.Left="65" Canvas.Top="507" IsFlowing="{Binding MFC6ValveIsOpen}"/>
  146. <TextBlock Text="V6" Canvas.Left="438" Canvas.Top="485"/>
  147. <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}}"/>
  148. <!--Gas7-->
  149. <ctrls:FlowPipe Height="8" Width="418" Canvas.Left="65" Canvas.Top="563" IsFlowing="{Binding MFC7ValveIsOpen}" Visibility="{Binding MFC7IsEnable,Converter={StaticResource bool2VisibilityConverter}}" />
  150. <TextBlock Text="V7" Canvas.Left="438" Canvas.Top="541" Visibility="{Binding MFC7IsEnable,Converter={StaticResource bool2VisibilityConverter}}"/>
  151. <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 bool2VisibilityConverter}}"/>
  152. <!--Gas8-->
  153. <ctrls:FlowPipe Height="8" Width="412" Canvas.Left="68" Canvas.Top="620" IsFlowing="{Binding MFC8ValveIsOpen}" Visibility="{Binding MFC7IsEnable,Converter={StaticResource bool2VisibilityConverter}}"/>
  154. <TextBlock Text="V8" Canvas.Left="438" Canvas.Top="598" Visibility="{Binding MFC8IsEnable,Converter={StaticResource bool2VisibilityConverter}}"/>
  155. <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 MFC7IsEnable,Converter={StaticResource bool2VisibilityConverter}}"/>
  156. <!--<TextBlock Text="Pressure Alarm" Canvas.Left="68" Canvas.Top="94"/>-->
  157. <Ellipse Width="20" Height="20" Canvas.Left="90" Canvas.Top="114" Fill="{Binding MFCN2Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse>
  158. <Ellipse Width="20" Height="20" Canvas.Left="90" Canvas.Top="224" Fill="{Binding MFC1Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse>
  159. <Ellipse Width="20" Height="20" Canvas.Left="90" Canvas.Top="280" Fill="{Binding MFC2Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse>
  160. <Ellipse Width="20" Height="20" Canvas.Left="90" Canvas.Top="336" Fill="{Binding MFC3Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse>
  161. <Ellipse Width="20" Height="20" Canvas.Left="90" Canvas.Top="390" Fill="{Binding MFC4Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse>
  162. <Ellipse Width="20" Height="20" Canvas.Left="90" Canvas.Top="446" Fill="{Binding MFC5Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse>
  163. <Ellipse Width="20" Height="20" Canvas.Left="90" Canvas.Top="501" Fill="{Binding MFC6Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm"></Ellipse>
  164. <Ellipse Width="20" Height="20" Canvas.Left="90" Canvas.Top="557" Fill="{Binding MFC7Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm" Visibility="{Binding MFC7IsEnable,Converter={StaticResource bool2VisibilityConverter}}"></Ellipse>
  165. <Ellipse Width="20" Height="20" Canvas.Left="90" Canvas.Top="614" Fill="{Binding MFC8Data.IsWarning,Converter={StaticResource boolToColor4}}" Stroke="Silver" StrokeThickness="2" ToolTip="Pressure Alarm" Visibility="{Binding MFC8IsEnable,Converter={StaticResource bool2VisibilityConverter}}"></Ellipse>
  166. <!--与chamber上方连接的管道-->
  167. <ctrls:FlowPipe Height="8" Width="120" Canvas.Left="482" Canvas.Top="120">
  168. <ctrls:FlowPipe.IsFlowing>
  169. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter4}">
  170. <Binding Path="GasFinalValveIsOpen"/>
  171. <Binding Path="N2ValveIsOpen"/>
  172. <Binding Path="PV11ValveIsOpen"/>
  173. <Binding Path="PV21ValveIsOpen"/>
  174. <Binding Path="PV31ValveIsOpen"/>
  175. <Binding Path="PV41ValveIsOpen"/>
  176. <Binding Path="MFC5ValveIsOpen"/>
  177. <Binding Path="MFC6ValveIsOpen"/>
  178. <Binding Path="MFC7ValveIsOpen"/>
  179. <Binding Path="MFC8ValveIsOpen"/>
  180. </MultiBinding>
  181. </ctrls:FlowPipe.IsFlowing>
  182. </ctrls:FlowPipe>
  183. <!--<TextBlock Text="Gas Final" Canvas.Left="900" Canvas.Top="90" FontSize="15"/>
  184. <customControls:CommonValveControl Status="{Binding GasFinalValveIsOpen,Mode=TwoWay}" ValveOrientation="Horizontal" Height="20" Width="20" Canvas.Left="922" Canvas.Top="114" IsCanEdit="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}" Tag="21" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"/>
  185. <ctrls:Pipe2 Canvas.Left="1000" Canvas.Top="120" HorizontalAlignment="Left" VerticalAlignment="Top" />-->
  186. <ctrls:FlowPipe Name="l8" Height="8" Width="56" Canvas.Left="490" Canvas.Top="126" RotateTransformValue="90" IsReverse="True">
  187. <ctrls:FlowPipe.IsFlowing>
  188. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  189. <Binding Path="MFC1ValveIsOpen"/>
  190. <Binding Path="MFC2ValveIsOpen"/>
  191. <Binding Path="MFC3ValveIsOpen"/>
  192. <Binding Path="MFC4ValveIsOpen"/>
  193. <Binding Path="MFC5ValveIsOpen"/>
  194. <Binding Path="MFC6ValveIsOpen"/>
  195. <Binding Path="MFC7ValveIsOpen"/>
  196. <Binding Path="MFC8ValveIsOpen"/>
  197. </MultiBinding>
  198. </ctrls:FlowPipe.IsFlowing>
  199. </ctrls:FlowPipe>
  200. <ctrls:FlowPipe Height="8" Width="56" Canvas.Left="490" Canvas.Top="180" RotateTransformValue="90" IsReverse="True">
  201. <ctrls:FlowPipe.IsFlowing>
  202. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  203. <Binding Path="MFC1ValveIsOpen"/>
  204. <Binding Path="MFC2ValveIsOpen"/>
  205. <Binding Path="MFC3ValveIsOpen"/>
  206. <Binding Path="MFC4ValveIsOpen"/>
  207. <Binding Path="MFC5ValveIsOpen"/>
  208. <Binding Path="MFC6ValveIsOpen"/>
  209. <Binding Path="MFC7ValveIsOpen"/>
  210. <Binding Path="MFC8ValveIsOpen"/>
  211. </MultiBinding>
  212. </ctrls:FlowPipe.IsFlowing>
  213. </ctrls:FlowPipe>
  214. <ctrls:FlowPipe Height="8" Width="58" Canvas.Left="490" Canvas.Top="234" RotateTransformValue="90" IsReverse="True">
  215. <ctrls:FlowPipe.IsFlowing>
  216. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  217. <Binding Path="MFC2ValveIsOpen"/>
  218. <Binding Path="MFC3ValveIsOpen"/>
  219. <Binding Path="MFC4ValveIsOpen"/>
  220. <Binding Path="MFC5ValveIsOpen"/>
  221. <Binding Path="MFC6ValveIsOpen"/>
  222. <Binding Path="MFC7ValveIsOpen"/>
  223. <Binding Path="MFC8ValveIsOpen"/>
  224. </MultiBinding>
  225. </ctrls:FlowPipe.IsFlowing>
  226. </ctrls:FlowPipe>
  227. <ctrls:FlowPipe Height="8" Width="56" Canvas.Left="490" Canvas.Top="290" RotateTransformValue="90" IsReverse="True">
  228. <ctrls:FlowPipe.IsFlowing>
  229. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  230. <Binding Path="MFC3ValveIsOpen"/>
  231. <Binding Path="MFC4ValveIsOpen"/>
  232. <Binding Path="MFC5ValveIsOpen"/>
  233. <Binding Path="MFC6ValveIsOpen"/>
  234. <Binding Path="MFC7ValveIsOpen"/>
  235. <Binding Path="MFC8ValveIsOpen"/>
  236. </MultiBinding>
  237. </ctrls:FlowPipe.IsFlowing>
  238. </ctrls:FlowPipe>
  239. <ctrls:FlowPipe Height="8" Width="58" Canvas.Left="490" Canvas.Top="344" RotateTransformValue="90" IsReverse="True">
  240. <ctrls:FlowPipe.IsFlowing>
  241. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  242. <Binding Path="MFC4ValveIsOpen"/>
  243. <Binding Path="MFC5ValveIsOpen"/>
  244. <Binding Path="MFC6ValveIsOpen"/>
  245. <Binding Path="MFC7ValveIsOpen"/>
  246. <Binding Path="MFC8ValveIsOpen"/>
  247. </MultiBinding>
  248. </ctrls:FlowPipe.IsFlowing>
  249. </ctrls:FlowPipe>
  250. <ctrls:FlowPipe Height="8" Width="58" Canvas.Left="490" Canvas.Top="400" RotateTransformValue="90" IsReverse="True">
  251. <ctrls:FlowPipe.IsFlowing>
  252. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  253. <Binding Path="MFC5ValveIsOpen"/>
  254. <Binding Path="MFC6ValveIsOpen"/>
  255. <Binding Path="MFC7ValveIsOpen"/>
  256. <Binding Path="MFC8ValveIsOpen"/>
  257. </MultiBinding>
  258. </ctrls:FlowPipe.IsFlowing>
  259. </ctrls:FlowPipe>
  260. <ctrls:FlowPipe Height="8" Width="55" Canvas.Left="490" Canvas.Top="456" RotateTransformValue="90" IsReverse="True">
  261. <ctrls:FlowPipe.IsFlowing>
  262. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  263. <Binding Path="MFC6ValveIsOpen"/>
  264. <Binding Path="MFC7ValveIsOpen"/>
  265. <Binding Path="MFC8ValveIsOpen"/>
  266. </MultiBinding>
  267. </ctrls:FlowPipe.IsFlowing>
  268. </ctrls:FlowPipe>
  269. <ctrls:FlowPipe Height="8" Width="60" Canvas.Left="490" Canvas.Top="510" RotateTransformValue="90" IsReverse="True" Visibility="{Binding MFC7IsEnable,Converter={StaticResource bool2VisibilityConverter}}">
  270. <ctrls:FlowPipe.IsFlowing>
  271. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  272. <Binding Path="MFC7ValveIsOpen"/>
  273. <Binding Path="MFC8ValveIsOpen"/>
  274. </MultiBinding>
  275. </ctrls:FlowPipe.IsFlowing>
  276. </ctrls:FlowPipe>
  277. <ctrls:FlowPipe Height="8" Width="48" Canvas.Left="490" Canvas.Top="568" RotateTransformValue="90" IsReverse="True" Visibility="{Binding MFC8IsEnable,Converter={StaticResource bool2VisibilityConverter}}">
  278. <ctrls:FlowPipe.IsFlowing>
  279. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter2}">
  280. <Binding Path="MFC8ValveIsOpen"/>
  281. </MultiBinding>
  282. </ctrls:FlowPipe.IsFlowing>
  283. </ctrls:FlowPipe>
  284. <!--<ctrls:FlowPipe Height="8" Width="120" Canvas.Left="1013" Canvas.Top="129" RotateTransformValue="90">
  285. <ctrls:FlowPipe.IsFlowing>
  286. <MultiBinding Converter="{StaticResource toBoolMultiValueConverter4}">
  287. <Binding Path="GasFinalValveIsOpen"/>
  288. <Binding Path="N2ValveIsOpen"/>
  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. <Binding Path="MFC7ValveIsOpen"/>
  296. <Binding Path="MFC8ValveIsOpen"/>
  297. </MultiBinding>
  298. </ctrls:FlowPipe.IsFlowing>
  299. </ctrls:FlowPipe>-->
  300. <ctrls:Pipe2 Canvas.Left="490" Canvas.Top="502" HorizontalAlignment="Left" VerticalAlignment="Top" RotateTransformValue="90" Visibility="{Binding MFC7IsEnable,Converter={StaticResource BoolToVisibility}}"/>
  301. <!--阀-->
  302. <TextBlock Text="V41" Canvas.Left="128" Canvas.Top="374"/>
  303. <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}}"/>
  304. <TextBlock Text="V31" Canvas.Left="128" Canvas.Top="320"/>
  305. <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}}"/>
  306. <TextBlock Text="V21" Canvas.Left="128" Canvas.Top="266"/>
  307. <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}}"/>
  308. <TextBlock Text="V11" Canvas.Left="128" Canvas.Top="208"/>
  309. <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}}"/>
  310. <TextBlock Text="V12" Canvas.Left="200" Canvas.Top="243"/>
  311. <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}}"/>
  312. <TextBlock Text="V22" Canvas.Left="200" Canvas.Top="300"/>
  313. <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}}"/>
  314. <TextBlock Text="V32" Canvas.Left="200" Canvas.Top="355"/>
  315. <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}}"/>
  316. <TextBlock Text="V42" Canvas.Left="200" Canvas.Top="405"/>
  317. <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}}"/>
  318. <TextBlock Text="VN21" Canvas.Left="200" Canvas.Top="152"/>
  319. <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}}"/>
  320. <!--左侧管道标签-->
  321. <ctrls:TextboxWithLabel TextBoxValue="{Binding MFC1SetPoint,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False" Canvas.Top="205" Canvas.Left="275" LabelValue="MFC1" ToolTip="{Binding MFC1Data.SetPoint,StringFormat='F1'}" TextBoxColor="White" MaxValue="{Binding MFC1Data.Scale}"/>
  322. <!--<TextBox Canvas.Top="205" Canvas.Left="250" Width="100" Text="{Binding MfcGas1Setpoint,Mode=TwoWay}"/>-->
  323. <ctrls:TextboxWithLabel Canvas.Top="205" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC1Data.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
  324. <ctrls:TextboxWithLabel TextBoxValue="{Binding MFC2SetPoint,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False" Canvas.Top="260" Canvas.Left="275" LabelValue="MFC2" ToolTip="{Binding MFC2Data.SetPoint,StringFormat='F1'}" TextBoxColor="White" MaxValue="{Binding MFC2Data.Scale}"/>
  325. <ctrls:TextboxWithLabel Canvas.Top="260" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC2Data.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
  326. <ctrls:TextboxWithLabel TextBoxValue="{Binding MFC3SetPoint,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False" Canvas.Top="318" Canvas.Left="275" LabelValue="MFC3" ToolTip="{Binding MFC3Data.SetPoint,StringFormat='F1'}" TextBoxColor="White" MaxValue="{Binding MFC3Data.Scale}"/>
  327. <ctrls:TextboxWithLabel Canvas.Top="318" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC3Data.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
  328. <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}"/>
  329. <ctrls:TextboxWithLabel Canvas.Top="370" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC4Data.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
  330. <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}"/>
  331. <ctrls:TextboxWithLabel Canvas.Top="426" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC5Data.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
  332. <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}"/>
  333. <ctrls:TextboxWithLabel Canvas.Top="482" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC6Data.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD"/>
  334. <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 bool2VisibilityConverter}}"/>
  335. <ctrls:TextboxWithLabel Canvas.Top="538" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC7Data.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD" Visibility="{Binding MFC7IsEnable,Converter={StaticResource bool2VisibilityConverter}}"/>
  336. <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 bool2VisibilityConverter}}"/>
  337. <ctrls:TextboxWithLabel Canvas.Top="595" Canvas.Left="345" LabelValue="Flow" TextBoxValue="{Binding MFC8Data.FeedBack,StringFormat='F1'}" TextBoxColor="#D7E4BD" Visibility="{Binding MFC8IsEnable,Converter={StaticResource bool2VisibilityConverter}}"/>
  338. <Ellipse Width="20" Height="20" Fill="{Binding GasIsFlowing,Converter={StaticResource boolToColor}}" Canvas.Left="510" Canvas.Top="150" Stroke="Silver" StrokeThickness="2"/>
  339. <Button Width="100" Content="Gas ON/OFF" Canvas.Left="540" Canvas.Top="150" Style="{StaticResource SysBtnStyle}" Command="{Binding GasCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>
  340. <TextBlock FontSize="13" Text="Vent N2" Canvas.Left="10" Canvas.Top="117" Foreground="Black" Block.TextAlignment="Right" Width="50"/>
  341. <TextBlock FontSize="13" Canvas.Left="-5" Canvas.Top="227" Block.TextAlignment="Right" MaxWidth="65">
  342. <TextBlock.Text>
  343. <MultiBinding StringFormat="{}({0}:{1})">
  344. <Binding Path="MFC1Data.DisplayName"></Binding>
  345. <Binding Path="MFC1Data.Scale"></Binding>
  346. </MultiBinding>
  347. </TextBlock.Text>
  348. </TextBlock>
  349. <TextBlock FontSize="13" Canvas.Left="-5" Canvas.Top="284" Block.TextAlignment="Right" MaxWidth="65">
  350. <TextBlock.Text>
  351. <MultiBinding StringFormat="{}({0}:{1})">
  352. <Binding Path="MFC2Data.DisplayName"></Binding>
  353. <Binding Path="MFC2Data.Scale"></Binding>
  354. </MultiBinding>
  355. </TextBlock.Text>
  356. </TextBlock>
  357. <TextBlock FontSize="13" Canvas.Left="-5" Canvas.Top="338" Block.TextAlignment="Right" MaxWidth="65">
  358. <TextBlock.Text>
  359. <MultiBinding StringFormat="{}({0}:{1})">
  360. <Binding Path="MFC3Data.DisplayName"></Binding>
  361. <Binding Path="MFC3Data.Scale"></Binding>
  362. </MultiBinding>
  363. </TextBlock.Text>
  364. </TextBlock>
  365. <TextBlock FontSize="13" Canvas.Left="-5" Canvas.Top="392" Block.TextAlignment="Right" MaxWidth="65">
  366. <TextBlock.Text>
  367. <MultiBinding StringFormat="{}({0}:{1})">
  368. <Binding Path="MFC4Data.DisplayName"></Binding>
  369. <Binding Path="MFC4Data.Scale"></Binding>
  370. </MultiBinding>
  371. </TextBlock.Text>
  372. </TextBlock>
  373. <TextBlock FontSize="13" Canvas.Left="-5" Canvas.Top="448" Block.TextAlignment="Right" MaxWidth="65">
  374. <TextBlock.Text>
  375. <MultiBinding StringFormat="{}({0}:{1})">
  376. <Binding Path="MFC5Data.DisplayName"></Binding>
  377. <Binding Path="MFC5Data.Scale"></Binding>
  378. </MultiBinding>
  379. </TextBlock.Text>
  380. </TextBlock>
  381. <TextBlock FontSize="13" Canvas.Left="-5" Canvas.Top="503" Block.TextAlignment="Right" MaxWidth="65">
  382. <TextBlock.Text>
  383. <MultiBinding StringFormat="{}({0}:{1})">
  384. <Binding Path="MFC6Data.DisplayName"></Binding>
  385. <Binding Path="MFC6Data.Scale"></Binding>
  386. </MultiBinding>
  387. </TextBlock.Text>
  388. </TextBlock>
  389. <TextBlock FontSize="13" Canvas.Left="-5" Canvas.Top="562" Block.TextAlignment="Right" MaxWidth="65" Visibility="{Binding MFC7IsEnable,Converter={StaticResource bool2VisibilityConverter}}">
  390. <TextBlock.Text>
  391. <MultiBinding StringFormat="{}({0}:{1})">
  392. <Binding Path="MFC7Data.DisplayName"></Binding>
  393. <Binding Path="MFC7Data.Scale"></Binding>
  394. </MultiBinding>
  395. </TextBlock.Text>
  396. </TextBlock>
  397. <TextBlock FontSize="13" Canvas.Left="-5" Canvas.Top="618" Block.TextAlignment="Right" MaxWidth="65" Visibility="{Binding MFC8IsEnable,Converter={StaticResource bool2VisibilityConverter}}">
  398. <TextBlock.Text>
  399. <MultiBinding StringFormat="{}({0}:{1})">
  400. <Binding Path="MFC8Data.DisplayName"></Binding>
  401. <Binding Path="MFC8Data.Scale"></Binding>
  402. </MultiBinding>
  403. </TextBlock.Text>
  404. </TextBlock>
  405. </Canvas >
  406. <Canvas Canvas.Left="500" Canvas.Top="110">
  407. <Grid Width="380" Height="440" Background="White" unity:GridOptions.ShowBorder="True" unity:GridOptions.LineBrush="#afb4db">
  408. <Grid.RowDefinitions>
  409. <RowDefinition Height="40"/>
  410. <RowDefinition/>
  411. <RowDefinition/>
  412. <RowDefinition/>
  413. <RowDefinition/>
  414. <RowDefinition/>
  415. <RowDefinition/>
  416. <RowDefinition/>
  417. <RowDefinition/>
  418. <RowDefinition/>
  419. <RowDefinition/>
  420. <RowDefinition/>
  421. <RowDefinition/>
  422. <RowDefinition Height="{Binding MFC7IsEnable,Converter={StaticResource BoolToHeightConverter}}"/>
  423. <RowDefinition Height="{Binding MFC8IsEnable,Converter={StaticResource BoolToHeightConverter}}"/>
  424. <RowDefinition/>
  425. <RowDefinition/>
  426. <RowDefinition Height="0"/>
  427. </Grid.RowDefinitions>
  428. <Grid.ColumnDefinitions>
  429. <ColumnDefinition Width="3*"/>
  430. <ColumnDefinition Width="2*"/>
  431. </Grid.ColumnDefinitions>
  432. <TextBlock Grid.Row="0" Grid.ColumnSpan="2" Text="Leak Check Setting" FontSize="22" Padding="90,5,0,0" Background="#6A82AD"/>
  433. <TextBlock Grid.Row="1" Text="Pumping Time(s)" FontSize="15" VerticalAlignment="Center" Padding="10" />
  434. <TextBlock Grid.Row="2" Text="Leak Check Time(s)" FontSize="15" VerticalAlignment="Center" Padding="10" />
  435. <TextBlock Grid.Row="3" Text="漏率上限(mt/min)" FontSize="15" VerticalAlignment="Center" Padding="10" />
  436. <TextBlock Grid.Row="4" Text="Leak Check Mode" FontSize="15" VerticalAlignment="Center" Padding="10" />
  437. <TextBlock Grid.Row="5" Text="Select All" FontSize="15" VerticalAlignment="Center" Padding="10" />
  438. <TextBlock Grid.Row="6" Text="Vent N2" FontSize="15" VerticalAlignment="Center" Padding="10" />
  439. <TextBlock Grid.Row="7" Text="MfcGas1" FontSize="15" VerticalAlignment="Center" Padding="10" />
  440. <TextBlock Grid.Row="8" Text="MfcGas2" FontSize="15" VerticalAlignment="Center" Padding="10" />
  441. <TextBlock Grid.Row="9" Text="MfcGas3" FontSize="15" VerticalAlignment="Center" Padding="10" />
  442. <TextBlock Grid.Row="10" Text="MfcGas4" FontSize="15" VerticalAlignment="Center" Padding="10" />
  443. <TextBlock Grid.Row="11" Text="MfcGas5" FontSize="15" VerticalAlignment="Center" Padding="10" />
  444. <TextBlock Grid.Row="12" Text="MfcGas6" FontSize="15" VerticalAlignment="Center" Padding="10" />
  445. <TextBlock Grid.Row="13" Text="MfcGas7" FontSize="15" VerticalAlignment="Center" Padding="10" />
  446. <TextBlock Grid.Row="14" Text="MfcGas8" FontSize="15" VerticalAlignment="Center" Padding="10" />
  447. <TextBlock Grid.Row="15" Text="状态" FontSize="15" VerticalAlignment="Center" Padding="10" />
  448. <TextBlock Grid.Row="16" Text="检漏时间" FontSize="15" VerticalAlignment="Center" Padding="10" />
  449. <TextBlock Grid.Row="17" Text="当前压力" FontSize="15" VerticalAlignment="Center" Padding="10" />
  450. <TextBox Grid.Row="1" Grid.Column="1" BorderThickness="0" VerticalContentAlignment="Center" Text="{Binding VentTime,UpdateSourceTrigger=PropertyChanged}"/>
  451. <TextBox Grid.Row="2" Grid.Column="1" BorderThickness="0" VerticalContentAlignment="Center" Text="{Binding CheckTime,UpdateSourceTrigger=PropertyChanged}"/>
  452. <TextBox Grid.Row="3" Grid.Column="1" BorderThickness="0" VerticalContentAlignment="Center" Text="{Binding LeakRateUpperLimit,UpdateSourceTrigger=PropertyChanged}"/>
  453. <ComboBox Grid.Row="4" Grid.Column="1" BorderBrush="Transparent" Margin="0" ItemsSource="{Binding LeakCheckMode}" SelectedIndex="{Binding LeakCheckModeSelectedIndex}" Style="{StaticResource customeComboBoxStyle}" BorderThickness="0"/>
  454. <CheckBox Grid.Row="5" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}">
  455. <CheckBox.IsChecked>
  456. <MultiBinding Converter="{StaticResource AllNoneCheckboxConverter}">
  457. <Binding ElementName="n2CheckBox" Path="IsChecked"/>
  458. <Binding ElementName="gas1CheckBox" Path="IsChecked"/>
  459. <Binding ElementName="gas2CheckBox" Path="IsChecked"/>
  460. <Binding ElementName="gas3CheckBox" Path="IsChecked"/>
  461. <Binding ElementName="gas4CheckBox" Path="IsChecked"/>
  462. <Binding ElementName="gas5CheckBox" Path="IsChecked"/>
  463. <Binding ElementName="gas6CheckBox" Path="IsChecked"/>
  464. <Binding ElementName="gas7CheckBox" Path="IsChecked"/>
  465. <Binding ElementName="gas8CheckBox" Path="IsChecked"/>
  466. </MultiBinding>
  467. </CheckBox.IsChecked>
  468. </CheckBox>
  469. <CheckBox x:Name="n2CheckBox" Grid.Row="6" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[0]}" />
  470. <CheckBox x:Name="gas1CheckBox" Grid.Row="7" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[1]}"/>
  471. <CheckBox x:Name="gas2CheckBox" Grid.Row="8" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[2]}"/>
  472. <CheckBox x:Name="gas3CheckBox" Grid.Row="9" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[3]}"/>
  473. <CheckBox x:Name="gas4CheckBox" Grid.Row="10" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[4]}"/>
  474. <CheckBox x:Name="gas5CheckBox" Grid.Row="11" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[5]}"/>
  475. <CheckBox x:Name="gas6CheckBox" Grid.Row="12" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[6]}"/>
  476. <CheckBox x:Name="gas7CheckBox" Grid.Row="13" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[7]}"/>
  477. <CheckBox x:Name="gas8CheckBox" Grid.Row="14" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="{Binding LeakCheckModeSelectedIndex}" IsChecked="{Binding GasIsCheck[8]}"/>
  478. <TextBlock Grid.Row="15" Grid.Column="1" Text="{Binding CurrentStep}" Padding="2,5,0,0"/>
  479. <TextBlock Grid.Row="16" Grid.Column="1" Text="{Binding StepTime, StringFormat=hh\\:mm\\:ss}" Padding="2,5,0,0"/>
  480. <TextBlock Grid.Row="17" Grid.Column="1"/>
  481. </Grid>
  482. <customControls:PathButton Foreground="White" Content="Leak Check" Width="130" Height="30" Canvas.Left="400" Canvas.Top="20" Command="{Binding CheckCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>
  483. <customControls:PathButton Foreground="White" Content="Gas Purge" Width="130" Height="30" Canvas.Left="400" Canvas.Top="70" Command="{Binding GasPurgeCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>
  484. <customControls:PathButton Foreground="White" Content="Abort" Width="130" Height="30" Canvas.Left="400" Canvas.Top="120" Command="{Binding AbortCommand}" IsEnabled="{Binding IsAutoMode,Converter={StaticResource BoolToBool}}"/>
  485. <!--<TextBlock Canvas.Left="80" Canvas.Top="460" Text="Leak Check Result" FontSize="15" FontWeight="Bold"/>-->
  486. <!--<Button FontSize="15" Foreground="White" FontWeight="Bold" Content="Export" Width="100" Height="30" Canvas.Left="900" Canvas.Top="440" Command="{Binding ExportCommand}"/>
  487. <Button FontSize="15" Foreground="White" FontWeight="Bold" Content="Delete" Width="100" Height="30" Canvas.Left="1020" Canvas.Top="440" />-->
  488. </Canvas>
  489. <DataGrid Canvas.Top="580" Height="248" AutoGenerateColumns="False" BorderThickness="0.1" FontSize="12" MinRowHeight="20" VerticalAlignment="Stretch"
  490. CanUserAddRows="False" CanUserDeleteRows="False" CanUserReorderColumns="False" CanUserResizeColumns="True" CanUserResizeRows="False" CanUserSortColumns="False"
  491. SelectionMode="Single" SelectionUnit="FullRow" Background="#05000000" HorizontalScrollBarVisibility="Disabled"
  492. ItemsSource="{Binding LeakCheckResultList}" SelectedItem="{Binding CurrentLeakCheckResultItem}" FontFamily="Arial,SimSun" Margin="0,0,8,45">
  493. <DataGrid.Columns>
  494. <DataGridTextColumn Width="160" Binding="{Binding CheckDate}" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" >
  495. <DataGridTextColumn.HeaderTemplate >
  496. <DataTemplate>
  497. <TextBlock Text="CheckDate" />
  498. </DataTemplate>
  499. </DataGridTextColumn.HeaderTemplate>
  500. </DataGridTextColumn>
  501. <DataGridTextColumn Width="120" Binding="{Binding StartPressure}" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" >
  502. <DataGridTextColumn.HeaderTemplate >
  503. <DataTemplate>
  504. <TextBlock Text="StartPressure" />
  505. </DataTemplate>
  506. </DataGridTextColumn.HeaderTemplate>
  507. </DataGridTextColumn>
  508. <DataGridTextColumn Width="120" Binding="{Binding EndPressure}" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" >
  509. <DataGridTextColumn.HeaderTemplate >
  510. <DataTemplate>
  511. <TextBlock Text="StopPressure" />
  512. </DataTemplate>
  513. </DataGridTextColumn.HeaderTemplate>
  514. </DataGridTextColumn>
  515. <DataGridTextColumn Width="120" Binding="{Binding LeakCheckTime}" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" >
  516. <DataGridTextColumn.HeaderTemplate >
  517. <DataTemplate>
  518. <TextBlock Text="Leak Check Time(s)" />
  519. </DataTemplate>
  520. </DataGridTextColumn.HeaderTemplate>
  521. </DataGridTextColumn>
  522. <DataGridTextColumn Width="120" Binding="{Binding LeakRate}" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" >
  523. <DataGridTextColumn.HeaderTemplate >
  524. <DataTemplate>
  525. <TextBlock Text="LeakRate" />
  526. </DataTemplate>
  527. </DataGridTextColumn.HeaderTemplate>
  528. </DataGridTextColumn>
  529. <DataGridTextColumn Width="200" Binding="{Binding CheckMode}" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" >
  530. <DataGridTextColumn.HeaderTemplate >
  531. <DataTemplate>
  532. <TextBlock Text="CheckMode" />
  533. </DataTemplate>
  534. </DataGridTextColumn.HeaderTemplate>
  535. </DataGridTextColumn>
  536. <DataGridTextColumn Width="400" Binding="{Binding GasLines}" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" >
  537. <DataGridTextColumn.HeaderTemplate >
  538. <DataTemplate>
  539. <TextBlock Text="Gas Lines" />
  540. </DataTemplate>
  541. </DataGridTextColumn.HeaderTemplate>
  542. </DataGridTextColumn>
  543. <DataGridTextColumn Width="200" Binding="{Binding Result}" CanUserSort="False" CanUserReorder="False" IsReadOnly="True" >
  544. <DataGridTextColumn.HeaderTemplate >
  545. <DataTemplate>
  546. <TextBlock Text="Result" />
  547. </DataTemplate>
  548. </DataGridTextColumn.HeaderTemplate>
  549. </DataGridTextColumn>
  550. </DataGrid.Columns>
  551. </DataGrid>
  552. </Canvas>
  553. </UserControl>