ReservoirsAnolyteView.xaml 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306
  1. <UserControl x:Class="CyberX8_MainPages.Views.ReservoirsAnolyteView"
  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:ctrls="clr-namespace:CyberX8_Themes.UserControls;assembly=CyberX8_Themes"
  7. xmlns:userControls="clr-namespace:CyberX8_Themes.UserControls;assembly=CyberX8_Themes"
  8. xmlns:prism="http://prismlibrary.com/"
  9. prism:ViewModelLocator.AutoWireViewModel="True"
  10. mc:Ignorable="d" x:Name="self"
  11. xmlns:customControls="clr-namespace:CyberX8_Themes.CustomControls;assembly=CyberX8_Themes"
  12. xmlns:Control="clr-namespace:MECF.Framework.UI.Core.Control;assembly=MECF.Framework.UI.Core"
  13. xmlns:Control1="clr-namespace:Aitex.Core.UI.Control;assembly=MECF.Framework.UI.Core"
  14. xmlns:converters="clr-namespace:CyberX8_Themes.Converters;assembly=CyberX8_Themes"
  15. d:DesignHeight="800" d:DesignWidth="1500">
  16. <UserControl.Resources>
  17. <converters:BoolToColor x:Key="boolToColor"/>
  18. <converters:BoolToRedColor x:Key="boolToRedColor"/>
  19. <converters:MutiBoolToBool x:Key="mutiBoolToBool1"/>
  20. <converters:BoolToVisibility2 x:Key="boolToVisibility2"/>
  21. </UserControl.Resources>
  22. <Canvas Margin="-1,0,1,0">
  23. <Grid Margin="1650 -10 0 0">
  24. <Grid.RowDefinitions>
  25. <RowDefinition Height="*"/>
  26. <RowDefinition Height="*"/>
  27. <RowDefinition Height="*"/>
  28. <RowDefinition Height="*"/>
  29. <RowDefinition Height="*"/>
  30. <RowDefinition Height="*"/>
  31. <RowDefinition Height="*"/>
  32. </Grid.RowDefinitions>
  33. <Grid.ColumnDefinitions>
  34. <ColumnDefinition/>
  35. </Grid.ColumnDefinitions>
  36. <Grid Grid.Row="2" Grid.Column="3">
  37. <ctrls:OperatingModeControl HorizontalAlignment="Left" Margin="10,0,0,0" VerticalAlignment="Top"
  38. ModuleName="{Binding Module}"
  39. OperationModeValue="{Binding ReservoirsPersistent.OperatingMode}"/>
  40. </Grid>
  41. <Grid Grid.Row="1" Grid.Column="3">
  42. <Grid.RowDefinitions>
  43. <RowDefinition Height="*"></RowDefinition>
  44. <RowDefinition Height="*"></RowDefinition>
  45. <RowDefinition Height="*"></RowDefinition>
  46. </Grid.RowDefinitions>
  47. <Grid Grid.Row="0">
  48. <Label Content="{Binding Module}" FontSize="35" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>
  49. </Grid>
  50. <Grid Grid.Row="2">
  51. <Grid.ColumnDefinitions>
  52. <ColumnDefinition Width="28*"/>
  53. <ColumnDefinition Width="73*"/>
  54. </Grid.ColumnDefinitions>
  55. <Label Content="Operating Mode" FontSize="15" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Left" Grid.ColumnSpan="2" Margin="34,0,0,0"></Label>
  56. </Grid>
  57. </Grid>
  58. <GroupBox Header="Leak Test" FontWeight="Bold" FontSize="15" Grid.Column="3" Grid.Row="3" Margin="10 8 0 0">
  59. <Grid>
  60. <Grid.RowDefinitions>
  61. <RowDefinition Height="25"></RowDefinition>
  62. <RowDefinition Height="35"></RowDefinition>
  63. <RowDefinition Height="25"></RowDefinition>
  64. <RowDefinition Height="35"></RowDefinition>
  65. </Grid.RowDefinitions>
  66. <Grid Grid.Row="0" Margin="25 0 0 0" HorizontalAlignment="Left" VerticalAlignment="Center">
  67. <Label FontSize="14" FontWeight="Bold">Baseline</Label>
  68. </Grid>
  69. <Control:NumbericTextBox IsEnabled="{Binding IsEnabled}" Grid.Row="1" Margin="0,0,60,0" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="15" FontWeight="Bold" Height="30" Width="70"
  70. Value="{Binding Path=InputANBaselineLevel,Mode=TwoWay}"
  71. KeyOperation="{Binding BaseLineKeyDownCommand}"
  72. TextboxName="ANBaseLineLevel"
  73. />
  74. <Button Grid.Row="1" IsEnabled="{Binding IsAutoEnabled}" Style="{StaticResource SysBtnStyle}" Command="{Binding StartLeakTestCommand}" Height="30" Width="60" HorizontalAlignment="Right" VerticalAlignment="Center" Content="Start" Margin="0,0,20,0"/>
  75. <Grid Grid.Row="2" Margin="25 0 0 0" HorizontalAlignment="Left" VerticalAlignment="Center">
  76. <Label FontSize="14" FontWeight="Bold">Leak Detected</Label>
  77. <Ellipse Width="16" Height="16" HorizontalAlignment="Right" Margin="0 0 -20 0"
  78. Fill="{Binding IsLeakDetected,Converter={StaticResource boolToRedColor}}" Stroke="Silver"/>
  79. </Grid>
  80. <Grid Grid.Row="3">
  81. <Button IsEnabled="{Binding IsEnabled}" Style="{StaticResource SysBtnStyle}" Command="{Binding ClearSlowLeakCommand}" Height="30" Width="130" HorizontalAlignment="Center" VerticalAlignment="Center" Content="Clear Slow Leak"/>
  82. </Grid>
  83. </Grid>
  84. </GroupBox>
  85. <GroupBox Header="AN Settings" FontWeight="Bold" FontSize="15" Grid.Column="3" Grid.Row="4" Margin="10 8 0 0">
  86. <Grid>
  87. <Grid.RowDefinitions>
  88. <RowDefinition Height="25"></RowDefinition>
  89. <RowDefinition Height="35"></RowDefinition>
  90. </Grid.RowDefinitions>
  91. <Grid Grid.Row="0" HorizontalAlignment="Center" VerticalAlignment="Center">
  92. <Label FontSize="14" FontWeight="Bold">Pump Speed(V)</Label>
  93. </Grid>
  94. <Control:NumbericTextBox IsEnabled="{Binding IsEnabled}" Grid.Row="1" Margin="10,0,10,0" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="15" FontWeight="Bold" Height="30" Width="130"
  95. Value="{Binding Path=ANPumpSpeed,Mode=TwoWay}" TextboxName="ANPumpSpeed" KeyOperation="{Binding AnPumpSpeedCommand}"/>
  96. </Grid>
  97. </GroupBox>
  98. <GroupBox Header="DI Replen" FontWeight="Bold" FontSize="15" Grid.Row="5" Grid.Column="3" Margin="10 8 0 0">
  99. <Grid>
  100. <Grid.RowDefinitions>
  101. <RowDefinition Height="25"></RowDefinition>
  102. <RowDefinition Height="25"></RowDefinition>
  103. <RowDefinition Height="35"></RowDefinition>
  104. <RowDefinition Height="25"></RowDefinition>
  105. <RowDefinition Height="25"></RowDefinition>
  106. <RowDefinition Height="25"></RowDefinition>
  107. <RowDefinition Height="25"></RowDefinition>
  108. <RowDefinition Height="35"></RowDefinition>
  109. <RowDefinition Height="25"></RowDefinition>
  110. <RowDefinition Height="35"></RowDefinition>
  111. </Grid.RowDefinitions>
  112. <Grid Grid.Row="0">
  113. <Label Content="Total On Time" FontSize="14" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center" />
  114. </Grid>
  115. <Border Grid.Row="1" Background="Black" Width="130" Margin="0 -3 0 0">
  116. <TextBlock Text="{Binding ReservoirsPersistent.TotalReplen,StringFormat={}{0} sec}" Foreground="Lime" FontSize="14" FontWeight="Bold" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  117. </Border>
  118. <Grid Grid.Row="2">
  119. <Button IsEnabled="{Binding IsEnabled}" Style="{StaticResource SysBtnStyle}" Grid.Column="1" Height="28" Width="130" HorizontalAlignment="Center" VerticalAlignment="Bottom" Content="Reset Total"
  120. Command="{Binding ResetTotalCommand}"/>
  121. </Grid>
  122. <Grid Grid.Row="3">
  123. <Label Content="Max On Time" FontSize="14" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center" />
  124. </Grid>
  125. <Border Grid.Row="4" Background="Black" Width="130" Margin="0 -3 0 0">
  126. <TextBlock Text="{Binding DIValveMaxOnTime,StringFormat={}{0} sec}" Foreground="Lime" FontSize="14" FontWeight="Bold" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  127. </Border>
  128. <Grid Grid.Row="5">
  129. <Label Content="Manual Fill Time" FontSize="14" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center" />
  130. </Grid>
  131. <Grid Grid.Row="6">
  132. <Control:NumbericTextBox IsEnabled="{Binding IsEnabled}" Value="{Binding ManualFillSeconds,Mode=TwoWay}" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="25,-3,0,0" Width="100" Height="30"/>
  133. <Label Content="sec" HorizontalAlignment="Right" VerticalAlignment="Center" Height="30" Width="55" Margin="0 -3 0 0"></Label>
  134. </Grid>
  135. <Grid Grid.Row="7">
  136. <Grid.ColumnDefinitions>
  137. <ColumnDefinition Width="11*"/>
  138. <ColumnDefinition Width="25*"/>
  139. </Grid.ColumnDefinitions>
  140. <Button IsEnabled="{Binding IsEnabled}" Style="{StaticResource SysBtnStyle}" HorizontalContentAlignment="Left" Padding="10 0 0 0" Height="28" Width="130" HorizontalAlignment="Left" VerticalAlignment="Center" Content="Manual Replen" Command="{Binding ManualDireplenCommand}" Grid.ColumnSpan="2" Margin="25,0,0,0"/>
  141. <Ellipse Grid.Column="1" Width="16" Height="16" HorizontalAlignment="Left" Margin="79,10,0,9" Fill="{Binding IsManualReplen, Converter={StaticResource boolToColor}}" Stroke="Silver"/>
  142. </Grid>
  143. <Grid Grid.Row="8">
  144. <Label Content="DI Replen Fault" HorizontalAlignment="Left" FontSize="14" VerticalAlignment="Center" Height="30" Margin="10 -3 0 0"></Label>
  145. <Ellipse Grid.Column="0" Width="16" Height="16" HorizontalAlignment="Right" Margin="0 -3 30 0" Fill="{Binding IsDIReplenFault, Converter={StaticResource boolToRedColor}}" Stroke="Silver"/>
  146. </Grid>
  147. <Grid Grid.Row="9">
  148. <Button IsEnabled="{Binding IsEnabled}" Style="{StaticResource SysBtnStyle}" Command="{Binding DIReplenClearErrorCommand}" Height="28" Width="130" HorizontalAlignment="Center" VerticalAlignment="Center" Content="Clear Error"/>
  149. </Grid>
  150. </Grid>
  151. </GroupBox>
  152. </Grid>
  153. <Canvas Width="40" Height="20" Canvas.Left="137" Canvas.Top="112" HorizontalAlignment="Left" VerticalAlignment="Center" >
  154. <Polygon Width="10" Points="0,10 20,0 20,20" Fill="Black" StrokeThickness="1" HorizontalAlignment="Left" VerticalAlignment="Center"></Polygon>
  155. <Polygon Points="0,0 30,0 30,4 0,4" Fill="Black" StrokeThickness="1" Canvas.Left="10" Canvas.Top="8" HorizontalAlignment="Left" VerticalAlignment="Center"></Polygon>
  156. </Canvas>
  157. <Canvas Visibility="{Binding IsCrossDoseTypeConfig,Converter={StaticResource boolToVisibility2}}" Width="40" Height="20" Canvas.Left="67" Canvas.Top="224" HorizontalAlignment="Left" VerticalAlignment="Center" >
  158. <Polygon Width="10" Points="0,10 20,0 20,20" Fill="Black" StrokeThickness="1" HorizontalAlignment="Left" VerticalAlignment="Center"></Polygon>
  159. <Polygon Points="0,0 30,0 30,4 0,4" Fill="Black" StrokeThickness="1" Canvas.Left="10" Canvas.Top="8" HorizontalAlignment="Left" VerticalAlignment="Center"></Polygon>
  160. </Canvas>
  161. <Canvas Width="40" Height="20" Canvas.Left="473" Canvas.Top="153" HorizontalAlignment="Center" VerticalAlignment="Top" >
  162. <Polygon Width="10" Points="0,10 20,0 20,20" Fill="Black" StrokeThickness="1" HorizontalAlignment="Left" VerticalAlignment="Center"></Polygon>
  163. <Polygon Points="0,0 30,0 30,4 0,4" Fill="Black" StrokeThickness="1" Canvas.Left="10" Canvas.Top="8" HorizontalAlignment="Left" VerticalAlignment="Center"></Polygon>
  164. </Canvas>
  165. <Canvas Width="40" Height="20" Canvas.Left="493" Canvas.Top="138" HorizontalAlignment="Center" VerticalAlignment="Top" >
  166. <Polygon Width="10" Points="0,10 20,0 20,20" Fill="Black" StrokeThickness="1" HorizontalAlignment="Left" VerticalAlignment="Center"></Polygon>
  167. <Polygon Points="0,0 30,0 30,4 0,4" Fill="Black" StrokeThickness="1" Canvas.Left="10" Canvas.Top="8" HorizontalAlignment="Left" VerticalAlignment="Center"></Polygon>
  168. </Canvas>
  169. <Canvas Width="40" Height="20" Canvas.Left="347" Canvas.Top="58" HorizontalAlignment="Left" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5" >
  170. <Canvas.RenderTransform>
  171. <TransformGroup>
  172. <ScaleTransform/>
  173. <SkewTransform/>
  174. <RotateTransform Angle="-180"/>
  175. <TranslateTransform/>
  176. </TransformGroup>
  177. </Canvas.RenderTransform>
  178. <Polygon Width="10" Points="0,10 20,0 20,20" Fill="Black" StrokeThickness="1" HorizontalAlignment="Left" VerticalAlignment="Center"></Polygon>
  179. <Polygon Points="0,0 30,0 30,4 0,4" Fill="Black" StrokeThickness="1" Canvas.Left="10" Canvas.Top="8" HorizontalAlignment="Left" VerticalAlignment="Center"></Polygon>
  180. </Canvas>
  181. <!--pipe-->
  182. <ctrls:FlowPipe IsReverse="True" IsFlowing="true" Height="8" Width="1010" Canvas.Left="427" Canvas.Top="772" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  183. <ctrls:FlowPipe IsReverse="True" IsFlowing="{Binding ANADrainPumpEnable}" Height="8" Width="1015" Canvas.Left="310" Canvas.Top="172" RotateTransformValue="0" HorizontalAlignment="Center" VerticalAlignment="Top"/>
  184. <ctrls:FlowPipe IsReverse="True" IsFlowing="true" Height="8" Width="510" Canvas.Left="424" Canvas.Top="261" RotateTransformValue="90" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  185. <ctrls:FlowPipe IsFlowing="{Binding ReservoirData.ANByPass}" Height="8" Width="155" Canvas.Left="450" Canvas.Top="55" RotateTransformValue="90" HorizontalAlignment="Center" VerticalAlignment="Top"/>
  186. <ctrls:FlowPipe IsReverse="True" IsFlowing="{Binding ReservoirData.ANSampleFlow}" Height="8" Width="175" Canvas.Left="37" Canvas.Top="104" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  187. <ctrls:FlowPipe Visibility="{Binding IsCrossDoseTypeConfig,Converter={StaticResource boolToVisibility2}}" IsReverse="True" IsFlowing="{Binding ReservoirData.CrossDoseEnable}" Height="8" Width="35" Canvas.Left="173" Canvas.Top="216" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  188. <ctrls:FlowPipe Visibility="{Binding IsCrossDoseTypeConfig,Converter={StaticResource boolToVisibility2}}" IsReverse="True" IsFlowing="{Binding ReservoirData.CrossDoseEnable}" Height="8" Width="130" Canvas.Left="37" Canvas.Top="216" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  189. <ctrls:FlowPipe IsFlowing="{Binding ReservoirData.ANDiReplen}" Height="8" Width="180" Canvas.Left="37" Canvas.Top="280" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  190. <ctrls:FlowPipe IsFlowing="{Binding ANPumpEnable}" Height="8" Width="1090" Canvas.Left="310" Canvas.Top="50" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  191. <ctrls:FlowPipe IsReverse="True" IsFlowing="{Binding ANBDrainPumpEnable}" Height="8" Width="1120" Canvas.Left="310" Canvas.Top="132" RotateTransformValue="0" HorizontalAlignment="Center" VerticalAlignment="Top"/>
  192. <ctrls:FlowPipe IsFlowing="true" Height="8" Width="130" Canvas.Left="310" Canvas.Top="210" RotateTransformValue="0" HorizontalAlignment="Center" VerticalAlignment="Top"/>
  193. <ctrls:FlowPipe IsFlowing="{Binding ReservoirData.ANByPass}" Height="8" Width="130" Canvas.Left="310" Canvas.Top="210" RotateTransformValue="0" HorizontalAlignment="Center" VerticalAlignment="Top"/>
  194. <ctrls:FlowPipe IsReverse="True" IsFlowing="true" Height="8" Width="130" Canvas.Left="283" Canvas.Top="250" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  195. <ctrls:Pipe2 Canvas.Left="450" Canvas.Top="205" HorizontalAlignment="Center" VerticalAlignment="Top" RotateTransformValue="90" />
  196. <ctrls:Pipe2 Canvas.Left="411" Canvas.Top="250" HorizontalAlignment="Left" VerticalAlignment="Center" RotateTransformValue="0" />
  197. <ctrls:Pipe2 Canvas.Left="429" Canvas.Top="780" HorizontalAlignment="Left" VerticalAlignment="Center" RotateTransformValue="180" />
  198. <ctrls:Pipe2 Canvas.Left="1394" Canvas.Top="50" HorizontalAlignment="Left" VerticalAlignment="Center" RotateTransformValue="0" />
  199. <ctrls:Pipe2 Canvas.Left="1428" Canvas.Top="132" HorizontalAlignment="Center" VerticalAlignment="Top" RotateTransformValue="0" />
  200. <ctrls:Pipe2 Canvas.Left="1318" Canvas.Top="172" HorizontalAlignment="Left" VerticalAlignment="Center" RotateTransformValue="0" />
  201. <ctrls:Pipe2 Canvas.Left="1446" Canvas.Top="767" HorizontalAlignment="Left" VerticalAlignment="Center" RotateTransformValue="90" />
  202. <!--valve-->
  203. <customControls:CommonValveControl IsEnabled="{Binding IsEnabled}" Canvas.Left="77" Canvas.Top="98" Status="{Binding ReservoirData.ANSampleFlow,Mode=TwoWay}" OperationName="{Binding Module,StringFormat='{}{0}.ANSample'}" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" ValveOrientation="Horizontal" Height="20" Width="20" IsCanEdit="True" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  204. <customControls:CommonValveControl Visibility="{Binding IsCrossDoseTypeConfig,Converter={StaticResource boolToVisibility2}}" IsEnabled="{Binding IsEnabled}" Canvas.Left="157" Canvas.Top="210" Status="{Binding ReservoirData.CrossDoseEnable,Mode=TwoWay}" OperationName="{Binding Module,StringFormat='{}{0}.CrossDose'}" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" IsCanEdit="True" ValveOrientation="Horizontal" Height="20" Width="20" HorizontalAlignment="Center" VerticalAlignment="Top"/>
  205. <customControls:CommonValveControl IsEnabled="{Binding IsEnabled}" Canvas.Left="77" Canvas.Top="274" Status="{Binding ReservoirData.ANDiReplen,Mode=TwoWay}" OperationName="{Binding Module,StringFormat='{}{0}.ANDiReplen'}" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" ValveOrientation="Horizontal" Height="20" Width="20" IsCanEdit="True" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  206. <customControls:CommonValveControl IsEnabled="{Binding IsEnabled}" Canvas.Left="436" Canvas.Top="79" Status="{Binding ReservoirData.ANByPass,Mode=TwoWay}" OperationName="{Binding Module,StringFormat='{}{0}.ANByPass'}" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" ValveOrientation="Vertical" Height="20" Width="20" IsCanEdit="True" HorizontalAlignment="Center" VerticalAlignment="Top"/>
  207. <userControls:ReservoirPump Visibility="{Binding IsCrossDoseTypeConfig,Converter={StaticResource boolToVisibility2}}" IsEnabled="False" ModuleName="{Binding Module}" PumpType="ANTransferPump" RotateTransformValue="0" IsOpenPump="{Binding ReservoirData.TransferPumpExecute}" Height="60" Width="60" Canvas.Left="58" Canvas.Top="168" Tag="26" HorizontalAlignment="Left" VerticalAlignment="Center" />
  208. <userControls:ReservoirPump IsEnabled="{Binding IsEnabled}" ModuleName="{Binding Module}" PumpType="AnPump" RotateTransformValue="0" IsOpenPump="{Binding ANPumpEnable,Mode=TwoWay}" Height="60" Width="60" Canvas.Left="337" Canvas.Top="2" Tag="26" HorizontalAlignment="Left" VerticalAlignment="Center" />
  209. <userControls:ReservoirPump IsEnabled="{Binding IsEnabled}" ModuleName="{Binding Module}" PumpType="AnBDrainPump" RotateTransformValue="0" IsOpenPump="{Binding ANBDrainPumpEnable,Mode=TwoWay}" Height="60" Width="60" Canvas.Left="486" Canvas.Top="83" Tag="26" HorizontalAlignment="Center" VerticalAlignment="Top" />
  210. <userControls:ReservoirPump IsEnabled="{Binding IsEnabled}" ModuleName="{Binding Module}" PumpType="AnADrainPump" RotateTransformValue="180" IsOpenPump="{Binding ANADrainPumpEnable,Mode=TwoWay}" Height="60" Width="60" Canvas.Left="466" Canvas.Top="168" Tag="26" HorizontalAlignment="Left" VerticalAlignment="Center" />
  211. <TextBlock FontSize="16" Text="AN Sample" Canvas.Left="50" Canvas.Top="77" HorizontalAlignment="Center" VerticalAlignment="Top"></TextBlock>
  212. <TextBlock Visibility="{Binding IsCrossDoseTypeConfig,Converter={StaticResource boolToVisibility2}}" FontSize="16" Text="Cross Dose" Canvas.Left="120" Canvas.Top="189" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
  213. <TextBlock FontSize="16" Text="DI Replen" Canvas.Left="50" Canvas.Top="255" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
  214. <TextBlock FontSize="16" Text="AN Pump" Canvas.Left="400" Canvas.Top="15" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
  215. <TextBlock FontSize="16" Text="B Drain Pump" Canvas.Left="460" Canvas.Top="65" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
  216. <TextBlock FontSize="16" Text="A Drain Pump" Canvas.Left="440" Canvas.Top="225" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
  217. <Grid Canvas.Top="68" Canvas.Left="325" HorizontalAlignment="Left" VerticalAlignment="Center">
  218. <Grid.RowDefinitions>
  219. <RowDefinition Height="28"/>
  220. <RowDefinition Height="25"/>
  221. </Grid.RowDefinitions>
  222. <Grid.ColumnDefinitions>
  223. <ColumnDefinition Width="100"/>
  224. </Grid.ColumnDefinitions>
  225. <Grid Grid.Row="0" Grid.Column="0" >
  226. <Label Content="Bypass" FontSize="14" FontWeight="Bold" VerticalAlignment="Center" HorizontalAlignment="Left"/>
  227. </Grid>
  228. <Border Grid.Row="1" Grid.Column="0" Background="Black">
  229. <TextBlock Text="{Binding ReservoirData.ANBypassFlow, StringFormat={}{0:F2} L/min}" Foreground="Lime" FontSize="14" FontWeight="Bold" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  230. </Border>
  231. </Grid>
  232. <Grid Canvas.Top="638" Canvas.Left="1520" HorizontalAlignment="Left" VerticalAlignment="Center">
  233. <Grid.RowDefinitions>
  234. <RowDefinition Height="28"/>
  235. <RowDefinition Height="25"/>
  236. </Grid.RowDefinitions>
  237. <Grid.ColumnDefinitions>
  238. <ColumnDefinition Width="140"/>
  239. </Grid.ColumnDefinitions>
  240. <Grid Grid.Row="0" Grid.Column="0" >
  241. <Label Content="Flow Adjust Delta" FontSize="14" FontWeight="Bold" VerticalAlignment="Center" HorizontalAlignment="Left"/>
  242. </Grid>
  243. <Border Grid.Row="1" Grid.Column="0" Background="Black" Height="30" Width="120" VerticalAlignment="Center" HorizontalAlignment="Left">
  244. <TextBlock Text="{Binding FlowAdjustDelta, StringFormat={}{0:F2} L/min}" Foreground="Lime" FontSize="14" FontWeight="Bold" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  245. </Border>
  246. </Grid>
  247. <userControls:AnolyteGroove IsShowANLevelRaw="True" ANLevel="{Binding AvgANLevel}" ANLevelRaw="{Binding ReservoirData.ANWaterLevel}" Width="125" Height="375" Canvas.Top="30" Canvas.Left="200" HorizontalAlignment="Center" VerticalAlignment="Top"
  248. IsHighLevel="{Binding IsHighLevel}"
  249. IsLowLevel="{Binding IsLowLevel}"
  250. IsError="{Binding IsError}"/>
  251. <userControls:CrossDoseControl IsEnabled="{Binding IsEnabled}" Visibility="{Binding IsCrossDoseEnabled,Converter={StaticResource boolToVisibility2}}" Canvas.Left="10" Canvas.Top="450"
  252. ModuleName="{Binding Module}" PumpFactor="{Binding ReservoirsPersistent.CrossDosePumpFactor}" ANTransferFlow="{Binding ANTransferFlow}" IsAutoMode="{Binding IsAutoMode}"
  253. ReservoirData="{Binding ReservoirData}" IsCalibrateEnable="{Binding IsCalibrateEnable}" TargetDosingVolume="{Binding ReservoirsPersistent.TargetDosingVolume}"/>
  254. <GroupBox Header="Status" FontWeight="Bold" FontSize="15" Canvas.Top="660" Canvas.Left="10">
  255. <Border Width="300" Height="50" Margin="10" Background="Black">
  256. <TextBlock Text="" Foreground="Lime" FontSize="16" FontWeight="Bold" HorizontalAlignment="Center" VerticalAlignment="Center"/>
  257. </Border>
  258. </GroupBox>
  259. <Button Style="{StaticResource SysBtnStyle}" Grid.Column="1" Height="30" Width="100" HorizontalAlignment="Left" Content="Back" Command="{Binding BackCommand}" Canvas.Left="1531" Canvas.Top="730" VerticalAlignment="Center"/>
  260. <Grid Width="1050" Height="720" Margin="600,60,0,0">
  261. <ItemsControl ItemsSource="{Binding ReservoirsUIDatas}" FlowDirection="RightToLeft">
  262. <ItemsControl.ItemsPanel>
  263. <ItemsPanelTemplate>
  264. <WrapPanel Orientation="Horizontal"></WrapPanel>
  265. </ItemsPanelTemplate>
  266. </ItemsControl.ItemsPanel>
  267. <ItemsControl.ItemTemplate>
  268. <DataTemplate>
  269. <userControls:AnolyteMetalControl Margin="172,-65,20,0" HorizontalAlignment="Left" VerticalAlignment="Center"
  270. MetalName="{Binding Name}"
  271. IsEnabled="{Binding RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}},Path=DataContext.IsEnabled}"
  272. IsMetalCellSideAHigh ="{Binding IsMetalCellSideAHigh}"
  273. IsMetalCellSideALow ="{Binding IsMetalCellSideALow}"
  274. IsMetalCellSideBHigh ="{Binding IsMetalCellSideBHigh}"
  275. IsMetalCellSideBLow ="{Binding IsMetalCellSideBLow}"
  276. SideAFlow="{Binding MetalSideAFlow}"
  277. SideBFlow="{Binding MetalSideBFlow}"
  278. SideAStatus="{Binding MetalSideAStatus}"
  279. SideBStatus="{Binding MetalSideBStatus}"
  280. MetalDatas="{Binding MetalDatas}"
  281. IsManualMode="{Binding IsManualOperationMode}"
  282. IsSideAFull="{Binding IsSideAFull}"
  283. IsSideBFull="{Binding IsSideBFull}"
  284. />
  285. </DataTemplate>
  286. </ItemsControl.ItemTemplate>
  287. </ItemsControl>
  288. </Grid>
  289. </Canvas>
  290. </UserControl>