GasLeakCheckView.xaml 49 KB

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