| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 | <UserControl xmlns:Control="clr-namespace:MECF.Framework.UI.Core.Control;assembly=MECF.Framework.UI.Core"  x:Class="PunkHPX8_Themes.UserControls.TemperatureControllerControl"             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:local="clr-namespace:PunkHPX8_Themes.UserControls"             xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"             xmlns:converters="clr-namespace:PunkHPX8_Themes.Converters"             mc:Ignorable="d" Name="self"             d:DesignHeight="500" d:DesignWidth="500">    <UserControl.Resources>        <converters:BoolToColor x:Key="boolToColor"/>        <converters:BoolToRedColor x:Key="boolToRedColor"/>        <converters:BoolToYellowColor x:Key="boolToYellowColor"/>    </UserControl.Resources>    <GroupBox Header="{Binding ElementName=self,Path=ModuleTitle}"  Background="{DynamicResource Table_BD_Title}" BorderBrush="DarkGray" Height="500">        <Grid>            <Grid.RowDefinitions>                <RowDefinition/>                <RowDefinition Height="130"/>            </Grid.RowDefinitions>            <Grid Grid.Row="0">                <Grid.RowDefinitions>                    <RowDefinition Height="40"/>                    <RowDefinition Height="30"/>                    <RowDefinition Height="60"/>                    <RowDefinition Height="40"/>                    <RowDefinition/>                </Grid.RowDefinitions>                <Grid Grid.Row="0" Margin="0,5,0,0">                    <Ellipse Margin="5,0"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=IsConnected, Converter={StaticResource boolToColor}}"   Stroke="Silver" HorizontalAlignment="Left"/>                    <Label Height="30" Width="70" Content="{Binding ElementName=self,Path=ModuleName}" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="28,0,0,0"/>                    <TextBlock Width="100" VerticalAlignment="Center" Text="{Binding ElementName=self,Path=DisableStatus}" Background="Black" Foreground="Lime" FontSize="16" FontWeight="Bold" HorizontalAlignment="Right" Margin="0,0,180,0"/>                    <Button IsEnabled="{Binding IsEnable}" Style="{StaticResource SysBtnStyle}" Content="Disable" Click="Disable_Click" HorizontalAlignment="Right" Width="70" Margin="0,0,80,0"></Button>                    <Button IsEnabled="{Binding IsEnable}" Style="{StaticResource SysBtnStyle}" Content="Enable" Click="Enable_Click" HorizontalAlignment="Right" Width="70" Margin="0,0,5,0"></Button>                </Grid>                <Grid Grid.Row="1">                    <Label Height="30" Content="State" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left"/>                    <TextBlock Width="110" VerticalAlignment="Center" Text="{Binding ElementName=self,Path=Status}" Background="Black" Foreground="Lime" FontSize="16" FontWeight="Bold" HorizontalAlignment="Left" Margin="44,0,0,0"/>                    <TextBlock Width="100" VerticalAlignment="Center" Text="{Binding ElementName=self,Path=AutoStatus}" Background="Black" Foreground="Lime" FontSize="16" FontWeight="Bold" HorizontalAlignment="Right" Margin="0,0,180,0"/>                    <Label Height="30" Content="OperationMode" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="313,2,0,0"/>                </Grid>                <Grid Grid.Row="2">                    <Grid.ColumnDefinitions>                        <ColumnDefinition Width="189*"/>                        <ColumnDefinition Width="55*"/>                    </Grid.ColumnDefinitions>                    <Label Height="30" Content="Set Point" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left"/>                    <Control:NumbericUpDown IsEnabled="{Binding IsEnable}" Height="30" Width="70" IncrementValue="1" Margin="67,15,0,15" HorizontalAlignment="Left" Value="{Binding ElementName=self,Path=SetPointValue,Mode=TwoWay}"/>                    <Label Height="30" Content="℃" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="139,0,0,0"/>                    <Button Style="{StaticResource SysBtnStyle}" IsEnabled="{Binding IsApplyEnable}" Content="Apply" Click="Apply_Click" HorizontalAlignment="Left" Width="70" Height="30" Margin="174,15,0,15"></Button>                    <Ellipse Margin="0,10,10,34"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=TemperatureReached, Converter={StaticResource boolToColor}}"   Stroke="Silver" HorizontalAlignment="Right" Grid.Column="1"/>                    <Label Content="Temperature Reached" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Top" HorizontalAlignment="Right" Margin="0,5,30,0" Grid.ColumnSpan="2"/>                    <Ellipse Margin="0,34,10,10"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=DeltaExceeded, Converter={StaticResource boolToRedColor}}"   Stroke="Silver" HorizontalAlignment="Right" Grid.Column="1"/>                    <Label Content="Delta Exceeded" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Top" HorizontalAlignment="Right" Margin="0,29,30,0" Grid.ColumnSpan="2"/>                </Grid>                <Grid Grid.Row="3">                    <Label Height="30" Content="Set Point Limits:" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left"/>                    <Control:NumbericUpDown IsEnabled="{Binding IsEnable}" Height="30" Width="70" IncrementValue="1" Margin="107,0,0,0" HorizontalAlignment="Left" Value="{Binding ElementName=self,Path=SetPointMinValue,Mode=TwoWay}"/>                    <Label Height="30" Content="℃" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="179,0,0,0"/>                    <Control:NumbericUpDown IsEnabled="{Binding IsEnable}" Height="30" Width="70" IncrementValue="1" Margin="357,0,0,0" HorizontalAlignment="Left" Value="{Binding ElementName=self,Path=SetPointMaxValue,Mode=TwoWay}"/>                    <Label Height="30" Content="℃" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="427,0,0,0"/>                    <TextBlock Width="100" VerticalAlignment="Center" Text="{Binding ElementName=self,Path=TargetTemperatureValue,StringFormat=\{0:F2\}}" Background="Black"                               Foreground="Lime" FontSize="16" FontWeight="Bold" HorizontalAlignment="Left" Margin="210,0,0,0" />                    <Label Height="30" Content="℃" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left"                            Margin="307,0,0,0"/>                </Grid>                <Grid Grid.Row="4">                    <Label  Content="Reservior" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="0,70,0,0"/>                    <TextBlock Width="50" VerticalAlignment="Top" Text="{Binding ElementName=self,Path=ReserviorValue,StringFormat=\{0:F2\}}" Background="Black"           Foreground="Lime" FontSize="16" FontWeight="Bold" HorizontalAlignment="Left" Margin="67,72,0,0" />                    <Label  Content="℃" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="113,70,0,0"/>                    <Label  Content="Heat Exch" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="0,120,0,0"/>                    <TextBlock Width="50" VerticalAlignment="Top" Text="{Binding ElementName=self,Path=HeatExchangerValue,StringFormat=\{0:F2\}}" Background="Black"    Foreground="Lime" FontSize="16" FontWeight="Bold" HorizontalAlignment="Left" Margin="67,122,0,0" />                    <Label Content="℃" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="113,120,0,0"/>                    <lvc:CartesianChart LegendLocation="Top" Hoverable="True" Margin="140,0,0,0" >                        <lvc:CartesianChart.Series>                            <lvc:LineSeries Title="Reservior series"  Width="1"  Values="{Binding ReserviorSeries}"  Stroke="Blue"  LineSmoothness="1"/>                            <lvc:LineSeries Title="Heat Exch"  Width="1"  Values="{Binding HeatExchangerSeries}"  Stroke="Green"   LineSmoothness="1"/>                        </lvc:CartesianChart.Series>                        <lvc:CartesianChart.AxisX>                            <lvc:Axis Labels="{Binding LabelSeries}"  FontSize="15" Foreground="Black" ShowLabels="False">                                <lvc:Axis.Separator>                                    <lvc:Separator Step="1"/>                                </lvc:Axis.Separator>                            </lvc:Axis>                        </lvc:CartesianChart.AxisX>                    </lvc:CartesianChart>                </Grid>            </Grid>            <GroupBox Header="Alarm" Grid.Row="1">                <Grid>                    <Grid.RowDefinitions>                        <RowDefinition/>                        <RowDefinition/>                        <RowDefinition/>                        <RowDefinition/>                    </Grid.RowDefinitions>                    <Grid.ColumnDefinitions>                        <ColumnDefinition/>                        <ColumnDefinition/>                        <ColumnDefinition/>                    </Grid.ColumnDefinitions>                    <WrapPanel Grid.Row="0" Grid.Column="0" >                        <Ellipse Margin="5,0"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=AutoTuning, Converter={StaticResource boolToRedColor}}"   Stroke="Silver"/>                        <Label Height="40" Content="Auto Tuning" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>                    </WrapPanel>                    <WrapPanel Grid.Row="0" Grid.Column="1" >                        <Ellipse Margin="5,0"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=Fan, Converter={StaticResource boolToRedColor}}"   Stroke="Silver"/>                        <Label Height="40" Content="Fan" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>                    </WrapPanel>                    <WrapPanel Grid.Row="0" Grid.Column="2" >                        <Ellipse Margin="5,0"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=RemoteOff, Converter={StaticResource boolToYellowColor}}"   Stroke="Silver"/>                        <Label Height="40" Content="Remote Off" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>                    </WrapPanel>                    <WrapPanel Grid.Row="1" Grid.Column="0" >                        <Ellipse Margin="5,0"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=AutoTuning, Converter={StaticResource boolToRedColor}}"   Stroke="Silver"/>                        <Label Height="40" Content="Ext Sensor Failure" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>                    </WrapPanel>                    <WrapPanel Grid.Row="1" Grid.Column="1" >                        <Ellipse Margin="5,0"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=HighTempCutoff, Converter={StaticResource boolToRedColor}}"   Stroke="Silver"/>                        <Label Height="40" Content="High Temp Cuteoff" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>                    </WrapPanel>                    <WrapPanel Grid.Row="1" Grid.Column="2" >                        <Ellipse Margin="5,0"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=LowTempCutoff, Converter={StaticResource boolToRedColor}}"   Stroke="Silver"/>                        <Label Height="40" Content="Low Temp Cuteoff" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>                    </WrapPanel>                    <WrapPanel Grid.Row="2" Grid.Column="0" >                        <Ellipse Margin="5,0"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=OutputFailure, Converter={StaticResource boolToRedColor}}"   Stroke="Silver"/>                        <Label Height="40" Content="Output Failure" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>                    </WrapPanel>                    <WrapPanel Grid.Row="2" Grid.Column="1" >                        <Ellipse Margin="5,0"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=IntSensorFailure, Converter={StaticResource boolToRedColor}}"   Stroke="Silver"/>                        <Label Height="40" Content="Int Sensor Failure" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>                    </WrapPanel>                    <WrapPanel Grid.Row="2" Grid.Column="2" >                        <Ellipse Margin="5,0"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=TempLimitWarn, Converter={StaticResource boolToYellowColor}}"   Stroke="Silver"/>                        <Label Height="40" Content="Temp Limit Warn" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>                    </WrapPanel>                    <WrapPanel Grid.Row="3" Grid.Column="0" >                        <Ellipse Margin="5,0"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=PowerFailure, Converter={StaticResource boolToRedColor}}"   Stroke="Silver"/>                        <Label Height="40" Content="Power Failure" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>                    </WrapPanel>                    <WrapPanel Grid.Row="3" Grid.Column="1" >                        <Ellipse Margin="5,0"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=Leak, Converter={StaticResource boolToRedColor}}"   Stroke="Silver"/>                        <Label Height="40" Content="Leak" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>                    </WrapPanel>                    <WrapPanel Grid.Row="3" Grid.Column="2" >                        <Ellipse Margin="5,0"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=Thermostat, Converter={StaticResource boolToRedColor}}"   Stroke="Silver"/>                        <Label Height="40" Content="Thermostat" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>                    </WrapPanel>                </Grid>            </GroupBox>        </Grid>    </GroupBox></UserControl>
 |