| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481 | <UserControl x:Class="CyberX8_MainPages.Views.ReservoirsCatholyteView"             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"              xmlns:d="http://schemas.microsoft.com/expression/blend/2008"             xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"             xmlns:local="clr-namespace:CyberX8_MainPages.Views"             xmlns:ctrls="clr-namespace:CyberX8_Themes.UserControls;assembly=CyberX8_Themes"             xmlns:userControls="clr-namespace:CyberX8_Themes.UserControls;assembly=CyberX8_Themes"             xmlns:converters="clr-namespace:CyberX8_Themes.Converters;assembly=CyberX8_Themes"             xmlns:prism="http://prismlibrary.com/"             prism:ViewModelLocator.AutoWireViewModel="True"             mc:Ignorable="d"              xmlns:customControls="clr-namespace:CyberX8_Themes.CustomControls;assembly=CyberX8_Themes"             xmlns:Control="clr-namespace:MECF.Framework.UI.Core.Control;assembly=MECF.Framework.UI.Core"               xmlns:Control1="clr-namespace:Aitex.Core.UI.Control;assembly=MECF.Framework.UI.Core"             d:DesignHeight="800" d:DesignWidth="1500">    <UserControl.Resources>        <converters:BoolToOrientation x:Key="boolToOrientation"></converters:BoolToOrientation>        <converters:BoolToOrientation2 x:Key="boolToOrientation2"></converters:BoolToOrientation2>        <converters:BoolToColor x:Key="boolToColor"/>        <converters:BoolToRedColor x:Key="boolToRedColor"/>        <converters:boolToRedColor2 x:Key="boolToRedColor2"/>        <converters:BoolToVisibility2 x:Key="boolToVisibility2"/>        <converters:MutiBoolToBool x:Key="mutiBoolToBool"/>    </UserControl.Resources>    <Canvas>        <StackPanel Canvas.Left="220" Canvas.Top="40" Orientation="Horizontal" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Top" Margin="-220,-40,0,0">            <Grid>                <Grid.RowDefinitions>                    <RowDefinition Height="5"/>                    <RowDefinition Height="170"/>                    <RowDefinition Height="170"/>                    <RowDefinition Height="160"/>                    <RowDefinition Height="250"/>                    <RowDefinition/>                </Grid.RowDefinitions>                <Grid.ColumnDefinitions>                    <ColumnDefinition Width="700"></ColumnDefinition>                    <ColumnDefinition Width="470"></ColumnDefinition>                    <ColumnDefinition Width="500"></ColumnDefinition>                    <ColumnDefinition Width="200"></ColumnDefinition>                    <ColumnDefinition/>                </Grid.ColumnDefinitions>                <Grid Grid.Row="1" Grid.Column="0">                    <ctrls:ReservoirsInformationPanel HorizontalAlignment="Left" Margin="10,0,0,0" VerticalAlignment="Center"                                       ModuleTitle="{Binding Module}"                                      RecipeContentValue="{Binding CurrentRecipe.Ppid}"                                      StateValue="{Binding State}"                                      OperatingModeValue="{Binding ReservoirsPersistent.OperatingMode}"                                                                                           />                </Grid>                <Grid Grid.Row="2" Grid.Column="3">                    <ctrls:OperatingModeControl HorizontalAlignment="Left" Margin="10,0,0,0" VerticalAlignment="Top"                                            ModuleName="{Binding Module}"                                           OperationModeValue="{Binding ReservoirsPersistent.OperatingMode}"/>                </Grid>                <Grid Grid.Row="1" Grid.Column="3">                    <Grid.RowDefinitions>                        <RowDefinition Height="60"></RowDefinition>                        <RowDefinition Height="50"></RowDefinition>                        <RowDefinition Height="60"></RowDefinition>                    </Grid.RowDefinitions>                    <Grid Grid.Row="0">                        <Label Content="{Binding Module}"  FontSize="35" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Bottom" HorizontalAlignment="Center" Margin="0,0,0,13"></Label>                    </Grid>                    <Grid Grid.Row="2">                        <Label Content="Operating Mode"  FontSize="15" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Bottom" HorizontalAlignment="Center"></Label>                    </Grid>                </Grid>                <GroupBox Header="CA Settings" FontWeight="Bold" FontSize="15" Grid.Column="3" Grid.Row="3" Margin="10 -30 0 80">                    <Grid>                        <Grid.RowDefinitions>                            <RowDefinition Height="30"></RowDefinition>                            <RowDefinition Height="35"></RowDefinition>                        </Grid.RowDefinitions>                        <Grid Grid.Row="0" HorizontalAlignment="Center" VerticalAlignment="Center">                            <Label FontSize="14" FontWeight="Bold">Pump Speed(RPM)</Label>                        </Grid>                        <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"                               Value="{Binding Path=CAPumpSpeed,Mode=TwoWay}" TextboxName="CAPumpSpeed" KeyOperation="{Binding CAPumpSpeedCommand}"                               />                    </Grid>                </GroupBox>                <GroupBox Header="DI Replen" FontWeight="Bold" FontSize="15" Grid.Row="3" Grid.Column="3"  Margin="10,100,0,0" Grid.RowSpan="3">                    <Grid>                        <Grid.RowDefinitions>                            <RowDefinition Height="35"></RowDefinition>                            <RowDefinition Height="30"></RowDefinition>                            <RowDefinition Height="35"></RowDefinition>                            <RowDefinition Height="35"></RowDefinition>                            <RowDefinition Height="30"></RowDefinition>                            <RowDefinition Height="35"></RowDefinition>                            <RowDefinition Height="35"></RowDefinition>                            <RowDefinition Height="35"></RowDefinition>                            <RowDefinition Height="35"></RowDefinition>                        </Grid.RowDefinitions>                        <Grid Grid.Row="0">                            <Label Content="Total On Time" FontSize="14" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center" />                        </Grid>                        <Border Grid.Row="1" Background="Black" Width="130" Margin="0 -3 0 0">                            <TextBlock Text="{Binding ReservoirsPersistent.TotalReplen,StringFormat={}{0} sec}" Foreground="Lime" FontSize="14" FontWeight="Bold" HorizontalAlignment="Center" VerticalAlignment="Center"/>                        </Border>                        <Grid Grid.Row="2">                            <Button IsEnabled="{Binding IsEnabled}" Style="{StaticResource SysBtnStyle}" Grid.Column="1" Command="{Binding ResetTotalCommand}" Height="30" Width="130" HorizontalAlignment="Center" VerticalAlignment="Bottom"  Content="Reset Total"></Button>                        </Grid>                        <Grid Grid.Row="3">                            <Label Content="Max On Time" FontSize="14" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center" />                        </Grid>                        <Border Grid.Row="4" Background="Black" Width="130" Margin="0 -3 0 0">                            <TextBlock Text="{Binding DIValveMaxOnTime,StringFormat={}{0} s}" Foreground="Lime" FontSize="14" FontWeight="Bold" HorizontalAlignment="Center" VerticalAlignment="Center"/>                        </Border>                        <Grid Grid.Row="5">                            <Label Content="Manual Fill Time" FontSize="14" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center" />                        </Grid>                        <Grid Grid.Row="6">                            <Control:IntegerTextBox IsEnabled="{Binding IsEnabled}" Value="{Binding ManualFillSeconds,Mode=TwoWay}" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="25,-3,0,0" Height="30"  Width="100"/>                            <Label Content="sec" HorizontalAlignment="Right" VerticalAlignment="Center" Height="30" Width="55"  Margin="0 -3 0 0"></Label>                        </Grid>                        <Grid Grid.Row="7">                            <Button IsEnabled="{Binding IsEnabled}" Style="{StaticResource SysBtnStyle}" HorizontalContentAlignment="Left" Padding="10 0 0 0"  Grid.Column="1" Height="30" Width="130" HorizontalAlignment="Center" VerticalAlignment="Center"  Content="Manual Replen" Command="{Binding ManualDireplenCommand}"></Button>                            <Ellipse Grid.Column="0" Width="16" Height="16" HorizontalAlignment="Right" Margin="0 0 30 0" Fill="{Binding IsManualReplen, Converter={StaticResource boolToColor}}"  Stroke="Silver"/>                        </Grid>                        <Grid Grid.Row="8">                            <Label Content="DI Replen Fault" HorizontalAlignment="Left" FontSize="14" VerticalAlignment="Center" Height="30" Margin="10 -3 0 0"></Label>                            <Ellipse Grid.Column="0" Width="16" Height="16" HorizontalAlignment="Right" Margin="0 -3 30 0"  Fill="{Binding IsDIReplenFault, Converter={StaticResource boolToRedColor}}" Stroke="Silver"/>                        </Grid>                    </Grid>                </GroupBox>            </Grid>        </StackPanel>        <!--pipe-->        <TextBlock FontSize="18" Text="CA Sample" Canvas.Left="22" Canvas.Top="485" HorizontalAlignment="Center" VerticalAlignment="Top"></TextBlock>        <TextBlock FontSize="18" Text="DI Replen" Canvas.Left="22" Canvas.Top="545" HorizontalAlignment="Center" VerticalAlignment="Top"></TextBlock>        <TextBlock FontSize="18" Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Text="Flow" Canvas.Left="789" Canvas.Top="381" HorizontalAlignment="Center" VerticalAlignment="Top"></TextBlock>        <TextBlock FontSize="18" Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Text="Flow" Canvas.Left="707" Canvas.Top="316" HorizontalAlignment="Center" VerticalAlignment="Top"></TextBlock>        <TextBlock FontSize="18" Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Text="CDA" Canvas.Left="870" Canvas.Top="402" HorizontalAlignment="Center" VerticalAlignment="Top"></TextBlock>        <ctrls:Pipe2  Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}"  Canvas.Left="630"  Canvas.Top="274" HorizontalAlignment="Center" VerticalAlignment="Top" RotateTransformValue="0" RenderTransformOrigin="0.5,0.5" Height="8" >            <userControls:Pipe2.RenderTransform>                <TransformGroup>                    <ScaleTransform/>                    <SkewTransform/>                    <RotateTransform Angle="-69.267"/>                    <TranslateTransform/>                </TransformGroup>            </userControls:Pipe2.RenderTransform>        </ctrls:Pipe2>        <ctrls:Pipe2  Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}"  Canvas.Left="686"  Canvas.Top="273" HorizontalAlignment="Center" VerticalAlignment="Top" RotateTransformValue="0" />        <ctrls:Pipe2  Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}"  Canvas.Left="752"  Canvas.Top="422" HorizontalAlignment="Center" VerticalAlignment="Top" RotateTransformValue="-90" />        <ctrls:Pipe2    Canvas.Left="753"  Canvas.Top="539" HorizontalAlignment="Left" VerticalAlignment="Center" RotateTransformValue="0" />        <ctrls:Pipe2    Canvas.Left="822"  Canvas.Top="450" HorizontalAlignment="Center" VerticalAlignment="Top" RotateTransformValue="0" />        <ctrls:Pipe2    Canvas.Left="1498"  Canvas.Top="717" HorizontalAlignment="Left" VerticalAlignment="Center" RotateTransformValue="90" />        <ctrls:FlowPipe IsFlowing="{Binding ReservoirData.CADiReplen}" Height="8"  Width="70"  Canvas.Left="25"  Canvas.Top="580" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Center"/>        <ctrls:FlowPipe IsFlowing="{Binding ReservoirData.CADiReplen}" Height="8"  Width="220"  Canvas.Left="100"  Canvas.Top="580" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Center"/>        <ctrls:FlowPipe IsReverse="True" IsFlowing="{Binding ReservoirData.CASampleFlow}" Height="8"  Width="70"  Canvas.Left="25"  Canvas.Top="520" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Center"/>        <ctrls:FlowPipe IsReverse="True" IsFlowing="{Binding ReservoirData.CASampleFlow}" Height="8"  Width="220"  Canvas.Left="100"  Canvas.Top="520" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Center"/>        <ctrls:FlowPipe IsFlowing="true" Height="8"  Width="180"  Canvas.Left="644"  Canvas.Top="450" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Center"/>        <ctrls:FlowPipe IsFlowing="{Binding ReservoirData.CAByPass}" Height="8"  Width="100"  Canvas.Left="654"  Canvas.Top="539" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Center"/>        <ctrls:FlowPipe IsFlowing="{Binding ReservoirData.CAByPass}" Height="8"  Width="65"  Canvas.Left="766"  Canvas.Top="551" RotateTransformValue="90" HorizontalAlignment="Left" VerticalAlignment="Center"/>        <ctrls:FlowPipe IsFlowing="{Binding ReservoirData.CAPumpEnable}" Height="8"  Width="850"  Canvas.Left="641"  Canvas.Top="722" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Center"/>        <ctrls:FlowPipe IsFlowing="{Binding ReservoirData.CAByPass}" Height="8"  Width="107"  Canvas.Left="766"  Canvas.Top="617" RotateTransformValue="90" HorizontalAlignment="Left" VerticalAlignment="Center"/>        <ctrls:FlowPipe IsFlowing="true" Height="8"  Width="263"  Canvas.Left="835"  Canvas.Top="461" RotateTransformValue="90" HorizontalAlignment="Center" VerticalAlignment="Top"/>        <userControls:ReservoirPump IsEnabled="{Binding IsEnabled}" ModuleName="{Binding Module}" PumpType="CAPump" IsOpenPump="{Binding ReservoirData.CAPumpRunning}" Height="60" Width="60"  Canvas.Left="674"  Canvas.Top="675" Tag="26" HorizontalAlignment="Left" VerticalAlignment="Top" />        <TextBlock FontSize="18" Text="CA Pump" Canvas.Left="667" Canvas.Top="740" HorizontalAlignment="Left" VerticalAlignment="Top"></TextBlock>        <ctrls:ExhaustPipe  IsFlowing="{Binding ReservoirData.CDAFlowValve}"  Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Height="8"  Width="55"  Canvas.Left="496"  Canvas.Top="318" HorizontalAlignment="Center" VerticalAlignment="Top"/>        <ctrls:ExhaustPipe  IsFlowing="{Binding ReservoirData.CDAFlowValve}" Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Height="8"  Width="50"  Canvas.Left="640"  Canvas.Top="273" HorizontalAlignment="Center" VerticalAlignment="Top"/>        <ctrls:ExhaustPipe  IsFlowing="{Binding ReservoirData.CDAFlowValve}" Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Height="8"  Width="19"  Canvas.Left="622"  Canvas.Top="285" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5">            <ctrls:ExhaustPipe.RenderTransform>                <TransformGroup>                    <ScaleTransform/>                    <SkewTransform/>                    <RotateTransform Angle="115"/>                    <TranslateTransform/>                </TransformGroup>            </ctrls:ExhaustPipe.RenderTransform>        </ctrls:ExhaustPipe>        <ctrls:ExhaustPipe IsFlowing="{Binding ReservoirData.CDAFlowValve}" Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Height="8"  Width="43"  Canvas.Left="674"  Canvas.Top="302" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5">            <ctrls:ExhaustPipe.RenderTransform>                <TransformGroup>                    <ScaleTransform/>                    <SkewTransform/>                    <RotateTransform Angle="90"/>                    <TranslateTransform/>                </TransformGroup>            </ctrls:ExhaustPipe.RenderTransform>        </ctrls:ExhaustPipe>        <ctrls:ExhaustPipe   IsFlowing="{Binding ReservoirData.CDAFlowValve}" Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Height="8"  Width="109"  Canvas.Left="641"  Canvas.Top="379" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5">            <ctrls:ExhaustPipe.RenderTransform>                <TransformGroup>                    <ScaleTransform/>                    <SkewTransform/>                    <RotateTransform Angle="90"/>                    <TranslateTransform/>                </TransformGroup>            </ctrls:ExhaustPipe.RenderTransform>        </ctrls:ExhaustPipe>        <ctrls:ExhaustPipe  IsFlowing="{Binding ReservoirData.CDAFlowValve}" Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Height="8"  Width="20"  Canvas.Left="746"  Canvas.Top="425" HorizontalAlignment="Center" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5">            <ctrls:ExhaustPipe.RenderTransform>                <TransformGroup>                    <ScaleTransform/>                    <SkewTransform/>                    <RotateTransform Angle="90"/>                    <TranslateTransform/>                </TransformGroup>            </ctrls:ExhaustPipe.RenderTransform>        </ctrls:ExhaustPipe>        <ctrls:ExhaustPipe  IsFlowing="{Binding ReservoirData.CDAFlowValve}" Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Height="8"  Width="50"  Canvas.Left="764"  Canvas.Top="409" HorizontalAlignment="Center" VerticalAlignment="Top"/>        <ctrls:ExhaustPipe  IsFlowing="{Binding ReservoirData.CDAFlowValve}" Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Height="8"  Width="50"  Canvas.Left="810"  Canvas.Top="409" HorizontalAlignment="Center" VerticalAlignment="Top"/>        <Canvas Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Width="60" Height="15" Canvas.Top="456" Canvas.Left="782" HorizontalAlignment="Center" VerticalAlignment="Top">            <Path Stroke="Silver" Canvas.Left="-91.496" Canvas.Top="-20" StrokeThickness="1" Height="15" Width="10" Data="M0,0 A 0,10 0 1 1 0,10 L 0,10 H 15 L 15,10 A 0,10 0 1 1 15,0 L 15,0 V 0" HorizontalAlignment="Center" VerticalAlignment="Top" Stretch="Fill">                <Path.Fill>                    <LinearGradientBrush StartPoint="1,1" EndPoint="0,1">                        <GradientStop Color="Gray" Offset="0.0" />                        <GradientStop Color="Gray" Offset="0.25" />                        <GradientStop Color="LightGray" Offset="0.5" />                        <GradientStop Color="Gray" Offset="0.75" />                        <GradientStop Color="Gray" Offset="1" />                    </LinearGradientBrush>                </Path.Fill>            </Path>            <Path Stroke="Silver" Canvas.Top="-20" StrokeThickness="1" Height="15" Width="10" Data="M0,0 A 0,10 0 1 1 0,10 L 0,10 H 15 L 15,10 A 0,10 0 1 1 15,0 L 15,0 V 0" HorizontalAlignment="Center" VerticalAlignment="Top" Stretch="Fill" Canvas.Left="-31">                <Path.Fill>                    <LinearGradientBrush StartPoint="1,1" EndPoint="0,1">                        <GradientStop Color="Gray" Offset="0.0" />                        <GradientStop Color="Gray" Offset="0.25" />                        <GradientStop Color="LightGray" Offset="0.5" />                        <GradientStop Color="Gray" Offset="0.75" />                        <GradientStop Color="Gray" Offset="1" />                    </LinearGradientBrush>                </Path.Fill>            </Path>            <Path Stroke="Silver" Canvas.Left="-100.332" StrokeThickness="1" Height="10" Width="15" Data="M0,0 A 0,10 0 1 1 0,30 L 0,30 H 15 L 15,30 A 0,10 0 1 1 15,0 L 15,0 V 0" HorizontalAlignment="Center" VerticalAlignment="Top" Stretch="Fill" Canvas.Top="-7">                <Path.Fill>                    <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">                        <GradientStop Color="Gray" Offset="0.0" />                        <GradientStop Color="Gray" Offset="0.25" />                        <GradientStop Color="LightGray" Offset="0.5" />                        <GradientStop Color="Gray" Offset="0.75" />                        <GradientStop Color="Gray" Offset="1" />                    </LinearGradientBrush>                </Path.Fill>            </Path>            <Path Stroke="Silver" Canvas.Left="-27.377" StrokeThickness="1" Height="10" Width="15" Data="M0,0 A 0,10 0 1 1 0,30 L 0,30 H 15 L 15,30 A 0,10 0 1 1 15,0 L 15,0 V 0" HorizontalAlignment="Center" VerticalAlignment="Top" Stretch="Fill" Canvas.Top="-7">                <Path.Fill>                    <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">                        <GradientStop Color="Gray" Offset="0.0" />                        <GradientStop Color="Gray" Offset="0.25" />                        <GradientStop Color="LightGray" Offset="0.5" />                        <GradientStop Color="Gray" Offset="0.75" />                        <GradientStop Color="Gray" Offset="1" />                    </LinearGradientBrush>                </Path.Fill>            </Path>            <Path Stroke="Silver" StrokeThickness="1" Height="15" Width="60" Data="M0,0 A 0,10 0 1 1 0,15 L 0,15 H 15 L 60,15 A 0,10 0 1 1 60,0 L 60,0 V 0" HorizontalAlignment="Center" VerticalAlignment="Top" Canvas.Left="-86.332" Canvas.Top="-10">                <Path.Fill>                    <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">                        <GradientStop Color="DarkSlateGray" Offset="0.0" />                        <GradientStop Color="Gray" Offset="0.25" />                        <GradientStop Color="LightSlateGray" Offset="0.5" />                        <GradientStop Color="Gray" Offset="0.75" />                        <GradientStop Color="DarkSlateGray" Offset="1" />                    </LinearGradientBrush>                </Path.Fill>            </Path>        </Canvas>        <customControls:CommonValveControl IsEnabled="{Binding IsEnabled}" Status="{Binding ReservoirData.CASampleFlow,Mode=TwoWay}" ValveOrientation="Horizontal"  Height="20" Width="20" OperationName="{Binding Module,StringFormat='{}{0}.CASample'}" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" Canvas.Left="87"  Canvas.Top="514" IsCanEdit="True" HorizontalAlignment="Center" VerticalAlignment="Top"/>        <customControls:CommonValveControl IsEnabled="{Binding IsEnabled}" Status="{Binding ReservoirData.CADiReplen,Mode=TwoWay}" ValveOrientation="Horizontal"  Height="20" Width="20" OperationName="{Binding Module,StringFormat='{}{0}.CADiReplen'}" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}"  Canvas.Left="87"  Canvas.Top="574" IsCanEdit="True" HorizontalAlignment="Center" VerticalAlignment="Top"/>        <customControls:CommonValveControl Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Status="{Binding ReservoirData.CDAFlowValve,Mode=TwoWay}" OperationName="{Binding Module,StringFormat='{}{0}.CDAFlow'}" ValveOrientation="Vertical"  Height="20" Width="20"  Tag="CACDAFlow" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" Canvas.Left="686"  Canvas.Top="318" IsCanEdit="True" HorizontalAlignment="Center" VerticalAlignment="Top">            <customControls:CommonValveControl.IsEnabled>                <MultiBinding Converter="{StaticResource mutiBoolToBool}">                    <Binding Path="CdaOn" />                    <Binding Path="IsEnabled"/>                </MultiBinding>            </customControls:CommonValveControl.IsEnabled>        </customControls:CommonValveControl>        <customControls:CommonValveControl Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Status="{Binding ReservoirData.CDAFlowValve,Mode=TwoWay}" OperationName="{Binding Module,StringFormat='{}{0}.CDAFlow'}"  ValveOrientation="Horizontal" Height="20" Width="20" Tag="CACDAFlow" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" Canvas.Left="799"  Canvas.Top="403" IsCanEdit="True" HorizontalAlignment="Center" VerticalAlignment="Top">            <customControls:CommonValveControl.IsEnabled>                <MultiBinding Converter="{StaticResource mutiBoolToBool}">                    <Binding Path="CdaOn" />                    <Binding Path="IsEnabled"/>                </MultiBinding>            </customControls:CommonValveControl.IsEnabled>        </customControls:CommonValveControl>        <customControls:CommonValveControl IsEnabled="{Binding IsEnabled}" Status="{Binding ReservoirData.CAByPass}" ValveOrientation="Horizontal"  Height="20" Width="20"  Canvas.Left="752"  Canvas.Top="605" IsCanEdit="True" OperationName="{Binding Module,StringFormat='{}{0}.CAByPass'}" Command="{Binding ControlValveCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" HorizontalAlignment="Left" VerticalAlignment="Center" RenderTransformOrigin="0.5,0.5">            <customControls:CommonValveControl.RenderTransform>                <TransformGroup>                    <ScaleTransform/>                    <SkewTransform/>                    <RotateTransform Angle="90.0"/>                    <TranslateTransform/>                </TransformGroup>            </customControls:CommonValveControl.RenderTransform>        </customControls:CommonValveControl>        <userControls:CatholyteGroove IsShowHighSafety="False"                                      CALevel="{Binding AvgCALevel}"                                      CALevelRaw="{Binding ReservoirData.CAWaterLevel}"  Width="450" Height="400" Canvas.Top="363" Canvas.Left="217" HorizontalAlignment="Center" VerticalAlignment="Top" Loaded="CatholyteGroove_Loaded"                                     IsHighLevel="{Binding IsHighLevel}"                                     IsLowLevel="{Binding IsLowLevel}"                                     IsError="{Binding IsError}"/>        <Canvas Visibility="{Binding IsEvaporatorConfig,Converter={StaticResource boolToVisibility2}}" Width="100" Height="100" Canvas.Top="239" Canvas.Left="580" HorizontalAlignment="Center" VerticalAlignment="Top">            <Polygon Stroke="Black" StrokeThickness="1" Points="0,50 105,90 105,140 0,140" HorizontalAlignment="Left" Canvas.Left="-44" VerticalAlignment="Center">                <Polygon.Fill>                    <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">                        <GradientStop Color="Silver" Offset="0.0" />                        <GradientStop Color="White" Offset="0.5" />                        <GradientStop Color="Silver" Offset="1" />                    </LinearGradientBrush>                </Polygon.Fill>                <Polygon.Effect>                    <DropShadowEffect Color="LightGray" Direction="0" ShadowDepth="5" Opacity="1" />                </Polygon.Effect>            </Polygon>            <Path Stroke="Silver" StrokeThickness="1" Height="12" Width="10" Data="M0,0 A 0,10 0 1 1 0,30 L 0,30 H 15 L 15,30 A 0,10 0 1 1 15,0 L 15,0 V 0" HorizontalAlignment="Left" Canvas.Top="70.478" VerticalAlignment="Center" Canvas.Left="35.493" Stretch="Fill" RenderTransformOrigin="0.5,0.5">                <Path.RenderTransform>                    <TransformGroup>                        <ScaleTransform/>                        <SkewTransform/>                        <RotateTransform Angle="-68"/>                        <TranslateTransform/>                    </TransformGroup>                </Path.RenderTransform>                <Path.Fill>                    <LinearGradientBrush StartPoint="0,0" EndPoint="0.2,1">                        <GradientStop Color="Gray" Offset="0.0" />                        <GradientStop Color="Silver" Offset="0.25" />                        <GradientStop Color="DarkGray" Offset="0.5" />                        <GradientStop Color="Silver" Offset="0.75" />                        <GradientStop Color="Gray" Offset="1" />                    </LinearGradientBrush>                </Path.Fill>            </Path>            <Path Stroke="Silver" StrokeThickness="1" Height="15" Width="20" Data="M0,0 A 0,10 0 1 1 0,25 L 0,25 H 80 L 80,50 A 0,10 0 1 1 80,0 L 80,0 V 0" HorizontalAlignment="Left" Canvas.Left="34.086" VerticalAlignment="Center" RenderTransformOrigin="0.5,0.5" Canvas.Top="18.811">                <Path.RenderTransform>                    <TransformGroup>                        <ScaleTransform/>                        <SkewTransform/>                        <RotateTransform Angle="-68"/>                        <TranslateTransform/>                    </TransformGroup>                </Path.RenderTransform>                <Path.Fill>                    <LinearGradientBrush StartPoint="0,0" EndPoint="0,0.4">                        <GradientStop Color="DarkSlateGray" Offset="0.0" />                        <GradientStop Color="Gray" Offset="0.25" />                        <GradientStop Color="LightSlateGray" Offset="0.5" />                        <GradientStop Color="Gray" Offset="0.75" />                        <GradientStop Color="DarkSlateGray" Offset="1" />                    </LinearGradientBrush>                </Path.Fill>            </Path>            <Grid Canvas.Left="-30" Canvas.Top="70">                <Grid.ColumnDefinitions>                    <ColumnDefinition Width="20"/>                    <ColumnDefinition Width="50"/>                </Grid.ColumnDefinitions>                <Grid.RowDefinitions>                    <RowDefinition Height="22"/>                    <RowDefinition Height="22"/>                    <RowDefinition Height="22"/>                </Grid.RowDefinitions>                <Grid Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2">                    <Label Content="Exhaust" FontSize="12" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left"/>                </Grid>                <Grid Grid.Row="1" Grid.Column="0">                    <Ellipse Margin="0,2,0,2"  Width="14" Height="14"  Fill="{Binding CdaOn,Converter={StaticResource boolToColor}}"   Stroke="Gray"/>                </Grid>                <Grid Grid.Row="2" Grid.Column="0">                    <Ellipse Margin="0,2,0,2"  Fill="{Binding ReservoirData.EvaporatorLevel,Converter={StaticResource boolToRedColor}}" Width="14" Height="14"   Stroke="Gray"/>                </Grid>                <Grid Grid.Row="1" Grid.Column="1">                    <Label Content="Enable" FontSize="12" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left"/>                </Grid>                <Grid Grid.Row="2" Grid.Column="1">                    <Label Content="Level" FontSize="12" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left"/>                </Grid>            </Grid>        </Canvas>        <Canvas Width="150" Height="100" Canvas.Left="778" Canvas.Top="476" HorizontalAlignment="Center" VerticalAlignment="Top">            <userControls:TempControl TempValue="{Binding TemperatureControlData.ReserviorTemperature}" Status="{Binding TemperatureControlData.Status}"                                      DisableStatus="{Binding TCEnableStatus}">                <i:Interaction.Triggers>                    <i:EventTrigger EventName="MouseLeftButtonUp">                        <i:InvokeCommandAction Command="{Binding JumpToTCCommand}"/>                    </i:EventTrigger>                </i:Interaction.Triggers>            </userControls:TempControl>        </Canvas>        <Grid Canvas.Top="585" Canvas.Left="835" HorizontalAlignment="Left" VerticalAlignment="Center">            <Grid.RowDefinitions>                <RowDefinition Height="30"/>                <RowDefinition Height="30"/>            </Grid.RowDefinitions>            <Grid.ColumnDefinitions>                <ColumnDefinition Width="130"/>            </Grid.ColumnDefinitions>            <Grid Grid.Row="0" Grid.Column="0" >                <Label Content="CA HED Flow" FontSize="14" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left"/>            </Grid>            <Border Grid.Row="1" Grid.Column="0" Margin="5,0,15,0" Background="Black">                <TextBlock Text="{Binding ReservoirData.CAHedFlow, StringFormat={}{0:F2} L/min}" Foreground="Lime" FontSize="14" FontWeight="Bold" HorizontalAlignment="Left" VerticalAlignment="Center"/>            </Border>        </Grid>              <Grid Canvas.Top="590" Canvas.Left="1515">            <Grid.RowDefinitions>                <RowDefinition Height="30"/>                <RowDefinition Height="30"/>            </Grid.RowDefinitions>            <Grid.ColumnDefinitions>                <ColumnDefinition Width="130"/>            </Grid.ColumnDefinitions>            <Grid Grid.Row="0" Grid.Column="0" >                <Label Content="Flow Ajust Delta" FontSize="14" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left" />            </Grid>            <Border Grid.Row="1" Grid.Column="0"  Margin="5,0,15,0" Background="Black">                <TextBlock Text="{Binding FlowAdjustDelta, StringFormat={}{0:F2} L/min}" Foreground="Lime" FontSize="14" FontWeight="Bold" HorizontalAlignment="Center" VerticalAlignment="Center"/>            </Border>        </Grid>        <Grid Width="650" Height="650" Margin="905,80,0,0">            <ItemsControl ItemsSource="{Binding ReservoirsUIDatas}" FlowDirection="RightToLeft">                <ItemsControl.ItemsPanel>                    <ItemsPanelTemplate>                        <WrapPanel Orientation="Horizontal"></WrapPanel>                    </ItemsPanelTemplate>                </ItemsControl.ItemsPanel>                <ItemsControl.ItemTemplate>                    <DataTemplate>                        <userControls:Clamp IsFlowing3="{Binding IsFlowing3, Mode=TwoWay}"                                            IsFlowing2="{Binding IsFlowing2, Mode=TwoWay}"                                             IsFlowing1="{Binding IsFlowing1, Mode=TwoWay}"                                             IsMetalCellHigh="{Binding IsMetalCellHigh}"                                            IsMetalCellLow="{Binding IsMetalCellLow}"                                            IsShowSignal="True"                                             LabelValue="{Binding Name}"                                             ModuleName="{Binding Name}" Width="85" Height="508"  Margin="20,0,20,0" HorizontalAlignment="Left" VerticalAlignment="Center"                                            IsEnabled="{Binding RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}},Path=DataContext.IsAutoEnabled}"                                            IsFlowing3Enable="True"/>                    </DataTemplate>                </ItemsControl.ItemTemplate>            </ItemsControl>            <ItemsControl ItemsSource="{Binding ReservoirsUIDatas}" FlowDirection="RightToLeft">                <ItemsControl.ItemsPanel>                    <ItemsPanelTemplate>                        <WrapPanel Orientation="Horizontal"></WrapPanel>                    </ItemsPanelTemplate>                </ItemsControl.ItemsPanel>                <ItemsControl.ItemTemplate>                    <DataTemplate>                        <Border Margin="70,590,-27,10" Background="Black" Width="80">                            <TextBlock Text="{Binding MetalCellFlow, StringFormat={}{0:F2}L/min}" Foreground="Lime" FontSize="14" FontWeight="Bold" HorizontalAlignment="Left" VerticalAlignment="Center"/>                        </Border>                    </DataTemplate>                </ItemsControl.ItemTemplate>            </ItemsControl>        </Grid>        <Button Style="{StaticResource SysBtnStyle}"  Grid.Column="1" Height="30" Width="100" HorizontalAlignment="Left" Content="Back" Command="{Binding BackCommand}" Canvas.Left="1525" Canvas.Top="670" VerticalAlignment="Top"/>    </Canvas></UserControl>
 |