|
@@ -9,236 +9,487 @@
|
|
|
<vm:ViewAViewModel/>
|
|
<vm:ViewAViewModel/>
|
|
|
</UserControl.DataContext>
|
|
</UserControl.DataContext>
|
|
|
|
|
|
|
|
- <Border Background="#0D1117" Width="1280" Height="800">
|
|
|
|
|
- <Grid RowDefinitions="Auto,*,Auto" Margin="15">
|
|
|
|
|
-
|
|
|
|
|
- <!-- 椤堕儴宸ュ叿鏍 -->
|
|
|
|
|
- <Border Grid.Row="0" Background="#161B22" CornerRadius="8" Padding="12" Margin="0,0,0,10">
|
|
|
|
|
- <Grid ColumnDefinitions="Auto,*,Auto,Auto">
|
|
|
|
|
- <!-- 宸︿晶鏍囬 -->
|
|
|
|
|
- <StackPanel Grid.Column="0" Orientation="Horizontal" Spacing="10">
|
|
|
|
|
- <TextBlock Text="馃彮" FontSize="20" VerticalAlignment="Center"/>
|
|
|
|
|
- <StackPanel>
|
|
|
|
|
- <TextBlock Text="姹℃按澶勭悊鐩戞帶绯荤粺" FontWeight="Bold" FontSize="16" Foreground="White"/>
|
|
|
|
|
- <TextBlock Text="瀹炴椂宸ヨ壓娴佺▼" FontSize="11" Foreground="#8B949E"/>
|
|
|
|
|
- </StackPanel>
|
|
|
|
|
|
|
+ <!-- 宸ヤ笟娣辫壊鑳屾櫙 -->
|
|
|
|
|
+ <Border Background="#0A0E14" Width="1280" Height="800">
|
|
|
|
|
+ <Grid RowDefinitions="48,*,32" Margin="0">
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 鈺愨晲鈺 椤堕儴鏍囬鏍 鈺愨晲鈺 -->
|
|
|
|
|
+ <Border Grid.Row="0" Background="#111820" BorderBrush="#1C2333" BorderThickness="0,0,0,1">
|
|
|
|
|
+ <Grid ColumnDefinitions="Auto,*,Auto,Auto,Auto" Margin="16,0">
|
|
|
|
|
+ <!-- 绯荤粺鏍囬 -->
|
|
|
|
|
+ <StackPanel Grid.Column="0" Orientation="Horizontal" Spacing="12" VerticalAlignment="Center">
|
|
|
|
|
+ <Border Background="#00897B" Width="4" Height="24" CornerRadius="2"/>
|
|
|
|
|
+ <TextBlock Text="YZ WATER" FontSize="16" FontWeight="Bold"
|
|
|
|
|
+ Foreground="#E0E0E0" FontFamily="Consolas, monospace"
|
|
|
|
|
+ VerticalAlignment="Center"/>
|
|
|
|
|
+ <TextBlock Text="姹℃按澶勭悊鐩戞帶绯荤粺" FontSize="13"
|
|
|
|
|
+ Foreground="#6B7280" VerticalAlignment="Center"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
|
|
|
|
|
- <!-- 涓棿杩炴帴鐘舵 -->
|
|
|
|
|
- <StackPanel Grid.Column="2" Orientation="Horizontal" Spacing="15" Margin="20,0">
|
|
|
|
|
- <Border Background="#238636" CornerRadius="12" Padding="10,5">
|
|
|
|
|
- <StackPanel Orientation="Horizontal" Spacing="5">
|
|
|
|
|
- <Ellipse Width="8" Height="8" Fill="White"/>
|
|
|
|
|
- <TextBlock Text="PLC 宸茶繛鎺" Foreground="White" FontSize="11"/>
|
|
|
|
|
- </StackPanel>
|
|
|
|
|
- </Border>
|
|
|
|
|
- <Button Content="杩炴帴" Command="{Binding ConnectPlcCommand}" Padding="12,4"/>
|
|
|
|
|
- <Button Content="鏂紑" Command="{Binding DisconnectPlcCommand}" Padding="12,4"/>
|
|
|
|
|
- <Button Content="鍒锋柊" Command="{Binding RefreshDataCommand}" Padding="12,4"/>
|
|
|
|
|
|
|
+ <!-- PLC 杩炴帴鐘舵 LED -->
|
|
|
|
|
+ <StackPanel Grid.Column="2" Orientation="Horizontal" Spacing="8" VerticalAlignment="Center" Margin="24,0">
|
|
|
|
|
+ <Border Width="10" Height="10" CornerRadius="5" Background="#00897B"/>
|
|
|
|
|
+ <TextBlock Text="PLC" FontFamily="Consolas, monospace" FontSize="11"
|
|
|
|
|
+ Foreground="#9CA3AF" VerticalAlignment="Center"/>
|
|
|
|
|
+ <TextBlock Text="CONNECTED" FontFamily="Consolas, monospace" FontSize="11"
|
|
|
|
|
+ Foreground="#00897B" VerticalAlignment="Center"/>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 鎿嶄綔鎸夐挳 -->
|
|
|
|
|
+ <StackPanel Grid.Column="3" Orientation="Horizontal" Spacing="4" VerticalAlignment="Center" Margin="16,0">
|
|
|
|
|
+ <Button Content="CONNECT" Command="{Binding ConnectPlcCommand}"
|
|
|
|
|
+ FontFamily="Consolas, monospace" FontSize="10" Padding="10,4"
|
|
|
|
|
+ Background="#1C2333" Foreground="#00897B" BorderBrush="#00897B"/>
|
|
|
|
|
+ <Button Content="DISCONNECT" Command="{Binding DisconnectPlcCommand}"
|
|
|
|
|
+ FontFamily="Consolas, monospace" FontSize="10" Padding="10,4"
|
|
|
|
|
+ Background="#1C2333" Foreground="#EF4444" BorderBrush="#EF4444"/>
|
|
|
|
|
+ <Button Content="REFRESH" Command="{Binding RefreshDataCommand}"
|
|
|
|
|
+ FontFamily="Consolas, monospace" FontSize="10" Padding="10,4"
|
|
|
|
|
+ Background="#1C2333" Foreground="#3B82F6" BorderBrush="#3B82F6"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
|
|
|
|
|
- <!-- 鍙充晶鏃堕棿 -->
|
|
|
|
|
- <StackPanel Grid.Column="3" VerticalAlignment="Center">
|
|
|
|
|
|
|
+ <!-- 鏃堕挓 -->
|
|
|
|
|
+ <StackPanel Grid.Column="4" VerticalAlignment="Center" HorizontalAlignment="Right">
|
|
|
<TextBlock Text="{Binding CurrentTime, StringFormat='{}{0:HH:mm:ss}'}"
|
|
<TextBlock Text="{Binding CurrentTime, StringFormat='{}{0:HH:mm:ss}'}"
|
|
|
- FontSize="18" FontWeight="Bold" Foreground="#58A6FF"/>
|
|
|
|
|
|
|
+ FontFamily="Consolas, monospace" FontSize="18" FontWeight="Bold"
|
|
|
|
|
+ Foreground="#00897B"/>
|
|
|
<TextBlock Text="{Binding CurrentTime, StringFormat='{}{0:yyyy-MM-dd}'}"
|
|
<TextBlock Text="{Binding CurrentTime, StringFormat='{}{0:yyyy-MM-dd}'}"
|
|
|
- FontSize="11" Foreground="#8B949E" HorizontalAlignment="Right"/>
|
|
|
|
|
|
|
+ FontFamily="Consolas, monospace" FontSize="10"
|
|
|
|
|
+ Foreground="#4B5563" HorizontalAlignment="Right"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
</Grid>
|
|
</Grid>
|
|
|
</Border>
|
|
</Border>
|
|
|
|
|
|
|
|
- <!-- 涓棿涓诲唴瀹瑰尯 -->
|
|
|
|
|
- <Grid Grid.Row="1" ColumnDefinitions="*,280">
|
|
|
|
|
-
|
|
|
|
|
- <!-- 宸︿晶宸ヨ壓娴佺▼鍥 -->
|
|
|
|
|
- <Border Grid.Column="0" Background="#161B22" CornerRadius="8" Padding="10" Margin="0,0,10,0">
|
|
|
|
|
- <Canvas Width="900" Height="550">
|
|
|
|
|
-
|
|
|
|
|
- <!-- 姘寸缁 -->
|
|
|
|
|
- <StackPanel Orientation="Horizontal" Canvas.Left="20" Canvas.Top="20" Spacing="30">
|
|
|
|
|
- <!-- 鍏ュ彛姹 -->
|
|
|
|
|
- <StackPanel>
|
|
|
|
|
- <controls:WaterTankControl Width="120" Height="160"
|
|
|
|
|
- WaterLevel="{Binding Tank1Level}" Text="鍏ュ彛姹"
|
|
|
|
|
- WaterColor="#00BCD4"/>
|
|
|
|
|
- <TextBlock Text="{Binding Tank1Level, StringFormat='娑蹭綅: {0:F1}%'}"
|
|
|
|
|
- Foreground="#8B949E" FontSize="11" HorizontalAlignment="Center" Margin="0,5,0,0"/>
|
|
|
|
|
- </StackPanel>
|
|
|
|
|
-
|
|
|
|
|
- <!-- 姹1 -->
|
|
|
|
|
- <StackPanel>
|
|
|
|
|
- <controls:WaterTankControl Width="120" Height="160"
|
|
|
|
|
- WaterLevel="{Binding Tank2Level}" Text="鐢熷寲姹"
|
|
|
|
|
- WaterColor="#26A69A"/>
|
|
|
|
|
- <TextBlock Text="{Binding Tank2Level, StringFormat='娑蹭綅: {0:F1}%'}"
|
|
|
|
|
- Foreground="#8B949E" FontSize="11" HorizontalAlignment="Center" Margin="0,5,0,0"/>
|
|
|
|
|
- </StackPanel>
|
|
|
|
|
|
|
+ <!-- 鈺愨晲鈺 涓棿涓诲唴瀹瑰尯 鈺愨晲鈺 -->
|
|
|
|
|
+ <Grid Grid.Row="1" ColumnDefinitions="*,260" Margin="8,4">
|
|
|
|
|
|
|
|
- <!-- 姹2 -->
|
|
|
|
|
- <StackPanel>
|
|
|
|
|
- <controls:WaterTankControl Width="120" Height="160"
|
|
|
|
|
- WaterLevel="{Binding Tank3Level}" Text="娌夋穩姹"
|
|
|
|
|
- WaterColor="#42A5F5"/>
|
|
|
|
|
- <TextBlock Text="{Binding Tank3Level, StringFormat='娑蹭綅: {0:F1}%'}"
|
|
|
|
|
- Foreground="#8B949E" FontSize="11" HorizontalAlignment="Center" Margin="0,5,0,0"/>
|
|
|
|
|
- </StackPanel>
|
|
|
|
|
|
|
+ <!-- 宸︿晶锛氬伐鑹烘祦绋嬪浘 -->
|
|
|
|
|
+ <Border Grid.Column="0" Background="#111820" CornerRadius="2" Margin="0,0,4,0"
|
|
|
|
|
+ BorderBrush="#1C2333" BorderThickness="1">
|
|
|
|
|
+ <Grid RowDefinitions="Auto,*,Auto" Margin="12,8">
|
|
|
|
|
|
|
|
- <!-- 鍑哄彛姹 -->
|
|
|
|
|
- <StackPanel>
|
|
|
|
|
- <controls:WaterTankControl Width="120" Height="160"
|
|
|
|
|
- WaterLevel="{Binding Tank4Level}" Text="鍑哄彛姹"
|
|
|
|
|
- WaterColor="#66BB6A"/>
|
|
|
|
|
- <TextBlock Text="{Binding Tank4Level, StringFormat='娑蹭綅: {0:F1}%'}"
|
|
|
|
|
- Foreground="#8B949E" FontSize="11" HorizontalAlignment="Center" Margin="0,5,0,0"/>
|
|
|
|
|
- </StackPanel>
|
|
|
|
|
|
|
+ <!-- 娴佺▼鍥炬爣棰 -->
|
|
|
|
|
+ <StackPanel Grid.Row="0" Orientation="Horizontal" Spacing="8" Margin="0,0,0,8">
|
|
|
|
|
+ <Border Background="#00897B" Width="3" Height="16" CornerRadius="1"/>
|
|
|
|
|
+ <TextBlock Text="PROCESS FLOW" FontFamily="Consolas, monospace"
|
|
|
|
|
+ FontSize="12" FontWeight="Bold" Foreground="#9CA3AF"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
|
|
|
|
|
- <!-- 绠¢亾杩炴帴 -->
|
|
|
|
|
- <controls:PipeLineControl Canvas.Left="20" Canvas.Top="200" Width="540" Height="25"
|
|
|
|
|
- IsFlow="{Binding IsInflowRunning}" IsHorizontal="True"/>
|
|
|
|
|
|
|
+ <!-- 宸ヨ壓娴佺▼ Canvas -->
|
|
|
|
|
+ <Border Grid.Row="1" Background="#0D1117" CornerRadius="2" Padding="8">
|
|
|
|
|
+ <Canvas Width="900" Height="480">
|
|
|
|
|
|
|
|
- <!-- 闃闂ㄧ粍 -->
|
|
|
|
|
- <StackPanel Orientation="Horizontal" Canvas.Left="50" Canvas.Top="240" Spacing="80">
|
|
|
|
|
- <controls:ValveControl Width="40" Height="50" Status="{Binding Valve1Status}" Text="杩涙按"/>
|
|
|
|
|
- <controls:ValveControl Width="40" Height="50" Status="{Binding Valve2Status}" Text="鏇濇皵"/>
|
|
|
|
|
- <controls:ValveControl Width="40" Height="50" Status="{Binding Valve3Status}" Text="鍥炴祦"/>
|
|
|
|
|
- <controls:ValveControl Width="40" Height="50" Status="{Binding Valve4Status}" Text="鍑烘按"/>
|
|
|
|
|
- </StackPanel>
|
|
|
|
|
|
|
+ <!-- 鈹鈹鈹 姘寸缁 鈹鈹鈹 -->
|
|
|
|
|
+ <!-- 鍏ュ彛姹 -->
|
|
|
|
|
+ <StackPanel Orientation="Vertical" Canvas.Left="30" Canvas.Top="20">
|
|
|
|
|
+ <controls:WaterTankControl Width="110" Height="140"
|
|
|
|
|
+ WaterLevel="{Binding Tank1Level}" Text="鍏ュ彛姹"
|
|
|
|
|
+ WaterColor="#00897B" BorderColor="#1C2333"/>
|
|
|
|
|
+ <Border Background="#1C2333" Padding="6,3" Margin="0,4,0,0">
|
|
|
|
|
+ <TextBlock Text="{Binding Tank1Level, StringFormat='LV: {0:F1}%'}"
|
|
|
|
|
+ FontFamily="Consolas, monospace" FontSize="11"
|
|
|
|
|
+ Foreground="#00897B" HorizontalAlignment="Center"/>
|
|
|
|
|
+ </Border>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
|
|
|
- <!-- 娉电粍 -->
|
|
|
|
|
- <StackPanel Orientation="Horizontal" Canvas.Left="30" Canvas.Top="310" Spacing="25">
|
|
|
|
|
- <controls:PumpControl Width="70" Height="80"
|
|
|
|
|
- IsRunning="{Binding Pump1Running}" Frequency="50" Text="杩涙按娉1"/>
|
|
|
|
|
- <controls:PumpControl Width="70" Height="80"
|
|
|
|
|
- IsRunning="{Binding Pump2Running}" Frequency="45" Text="杩涙按娉2"/>
|
|
|
|
|
- <controls:PumpControl Width="70" Height="80"
|
|
|
|
|
- IsRunning="{Binding Pump3Running}" Frequency="40" Text="鍥炴祦娉"/>
|
|
|
|
|
- <controls:PumpControl Width="70" Height="80"
|
|
|
|
|
- IsRunning="{Binding Pump4Running}" Frequency="35" Text="鎺掓偿娉"/>
|
|
|
|
|
- <controls:PumpControl Width="70" Height="80"
|
|
|
|
|
- IsRunning="{Binding Pump5Running}" Frequency="55" Text="鍔犺嵂娉"/>
|
|
|
|
|
- </StackPanel>
|
|
|
|
|
|
|
+ <!-- 鐢熷寲姹 -->
|
|
|
|
|
+ <StackPanel Orientation="Vertical" Canvas.Left="180" Canvas.Top="20">
|
|
|
|
|
+ <controls:WaterTankControl Width="110" Height="140"
|
|
|
|
|
+ WaterLevel="{Binding Tank2Level}" Text="鐢熷寲姹"
|
|
|
|
|
+ WaterColor="#0288D1" BorderColor="#1C2333"/>
|
|
|
|
|
+ <Border Background="#1C2333" Padding="6,3" Margin="0,4,0,0">
|
|
|
|
|
+ <TextBlock Text="{Binding Tank2Level, StringFormat='LV: {0:F1}%'}"
|
|
|
|
|
+ FontFamily="Consolas, monospace" FontSize="11"
|
|
|
|
|
+ Foreground="#0288D1" HorizontalAlignment="Center"/>
|
|
|
|
|
+ </Border>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
|
|
|
- <!-- 椋庢満缁 -->
|
|
|
|
|
- <StackPanel Orientation="Horizontal" Canvas.Left="120" Canvas.Top="410" Spacing="50">
|
|
|
|
|
- <controls:FanControl Width="50" Height="50" IsRunning="{Binding Fan1Running}" Speed="1" Text="椋庢満1"/>
|
|
|
|
|
- <controls:FanControl Width="50" Height="50" IsRunning="{Binding Fan2Running}" Speed="1.5" Text="椋庢満2"/>
|
|
|
|
|
- </StackPanel>
|
|
|
|
|
|
|
+ <!-- 娌夋穩姹 -->
|
|
|
|
|
+ <StackPanel Orientation="Vertical" Canvas.Left="330" Canvas.Top="20">
|
|
|
|
|
+ <controls:WaterTankControl Width="110" Height="140"
|
|
|
|
|
+ WaterLevel="{Binding Tank3Level}" Text="娌夋穩姹"
|
|
|
|
|
+ WaterColor="#7B1FA2" BorderColor="#1C2333"/>
|
|
|
|
|
+ <Border Background="#1C2333" Padding="6,3" Margin="0,4,0,0">
|
|
|
|
|
+ <TextBlock Text="{Binding Tank3Level, StringFormat='LV: {0:F1}%'}"
|
|
|
|
|
+ FontFamily="Consolas, monospace" FontSize="11"
|
|
|
|
|
+ Foreground="#7B1FA2" HorizontalAlignment="Center"/>
|
|
|
|
|
+ </Border>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
|
|
|
- <!-- 妯″紡鍒囨崲 -->
|
|
|
|
|
- <Border Canvas.Left="750" Canvas.Top="20" Width="120" Height="50"
|
|
|
|
|
- Background="#21262D" CornerRadius="8">
|
|
|
|
|
- <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
|
|
|
|
|
- <TextBlock Text="杩愯妯″紡" FontSize="10" Foreground="#8B949E" HorizontalAlignment="Center"/>
|
|
|
|
|
- <controls:ValveControl Width="30" Height="30"
|
|
|
|
|
- Status="{Binding ModeStatus}" Text=""/>
|
|
|
|
|
- </StackPanel>
|
|
|
|
|
|
|
+ <!-- 鍑哄彛姹 -->
|
|
|
|
|
+ <StackPanel Orientation="Vertical" Canvas.Left="480" Canvas.Top="20">
|
|
|
|
|
+ <controls:WaterTankControl Width="110" Height="140"
|
|
|
|
|
+ WaterLevel="{Binding Tank4Level}" Text="鍑哄彛姹"
|
|
|
|
|
+ WaterColor="#2E7D32" BorderColor="#1C2333"/>
|
|
|
|
|
+ <Border Background="#1C2333" Padding="6,3" Margin="0,4,0,0">
|
|
|
|
|
+ <TextBlock Text="{Binding Tank4Level, StringFormat='LV: {0:F1}%'}"
|
|
|
|
|
+ FontFamily="Consolas, monospace" FontSize="11"
|
|
|
|
|
+ Foreground="#2E7D32" HorizontalAlignment="Center"/>
|
|
|
|
|
+ </Border>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 鈹鈹鈹 绠¢亾 鈹鈹鈹 -->
|
|
|
|
|
+ <controls:PipeLineControl Canvas.Left="30" Canvas.Top="180" Width="560" Height="20"
|
|
|
|
|
+ IsFlow="{Binding IsInflowRunning}" IsHorizontal="True"
|
|
|
|
|
+ PipeColor="#1C2333" WaterColor="#00897B"/>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 鈹鈹鈹 闃闂ㄧ粍 鈹鈹鈹 -->
|
|
|
|
|
+ <controls:ValveControl Canvas.Left="60" Canvas.Top="215" Width="36" Height="44"
|
|
|
|
|
+ Status="{Binding Valve1Status}" Text="V1"
|
|
|
|
|
+ ValveColor="#F59E0B" BackgroundColor="#1C2333"/>
|
|
|
|
|
+ <controls:ValveControl Canvas.Left="190" Canvas.Top="215" Width="36" Height="44"
|
|
|
|
|
+ Status="{Binding Valve2Status}" Text="V2"
|
|
|
|
|
+ ValveColor="#F59E0B" BackgroundColor="#1C2333"/>
|
|
|
|
|
+ <controls:ValveControl Canvas.Left="320" Canvas.Top="215" Width="36" Height="44"
|
|
|
|
|
+ Status="{Binding Valve3Status}" Text="V3"
|
|
|
|
|
+ ValveColor="#F59E0B" BackgroundColor="#1C2333"/>
|
|
|
|
|
+ <controls:ValveControl Canvas.Left="450" Canvas.Top="215" Width="36" Height="44"
|
|
|
|
|
+ Status="{Binding Valve4Status}" Text="V4"
|
|
|
|
|
+ ValveColor="#F59E0B" BackgroundColor="#1C2333"/>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 鈹鈹鈹 娉电粍 鈹鈹鈹 -->
|
|
|
|
|
+ <StackPanel Orientation="Horizontal" Canvas.Left="30" Canvas.Top="280" Spacing="20">
|
|
|
|
|
+ <StackPanel>
|
|
|
|
|
+ <controls:PumpControl Width="64" Height="72"
|
|
|
|
|
+ IsRunning="{Binding Pump1Running}" Frequency="50" Text="P1"/>
|
|
|
|
|
+ <TextBlock Text="杩涙按娉1" FontFamily="Consolas, monospace" FontSize="9"
|
|
|
|
|
+ Foreground="#6B7280" HorizontalAlignment="Center" Margin="0,2,0,0"/>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+ <StackPanel>
|
|
|
|
|
+ <controls:PumpControl Width="64" Height="72"
|
|
|
|
|
+ IsRunning="{Binding Pump2Running}" Frequency="45" Text="P2"/>
|
|
|
|
|
+ <TextBlock Text="杩涙按娉2" FontFamily="Consolas, monospace" FontSize="9"
|
|
|
|
|
+ Foreground="#6B7280" HorizontalAlignment="Center" Margin="0,2,0,0"/>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+ <StackPanel>
|
|
|
|
|
+ <controls:PumpControl Width="64" Height="72"
|
|
|
|
|
+ IsRunning="{Binding Pump3Running}" Frequency="40" Text="P3"/>
|
|
|
|
|
+ <TextBlock Text="鍥炴祦娉" FontFamily="Consolas, monospace" FontSize="9"
|
|
|
|
|
+ Foreground="#6B7280" HorizontalAlignment="Center" Margin="0,2,0,0"/>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+ <StackPanel>
|
|
|
|
|
+ <controls:PumpControl Width="64" Height="72"
|
|
|
|
|
+ IsRunning="{Binding Pump4Running}" Frequency="35" Text="P4"/>
|
|
|
|
|
+ <TextBlock Text="鎺掓偿娉" FontFamily="Consolas, monospace" FontSize="9"
|
|
|
|
|
+ Foreground="#6B7280" HorizontalAlignment="Center" Margin="0,2,0,0"/>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+ <StackPanel>
|
|
|
|
|
+ <controls:PumpControl Width="64" Height="72"
|
|
|
|
|
+ IsRunning="{Binding Pump5Running}" Frequency="55" Text="P5"/>
|
|
|
|
|
+ <TextBlock Text="鍔犺嵂娉" FontFamily="Consolas, monospace" FontSize="9"
|
|
|
|
|
+ Foreground="#6B7280" HorizontalAlignment="Center" Margin="0,2,0,0"/>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 鈹鈹鈹 椋庢満缁 鈹鈹鈹 -->
|
|
|
|
|
+ <StackPanel Orientation="Horizontal" Canvas.Left="120" Canvas.Top="375" Spacing="40">
|
|
|
|
|
+ <StackPanel>
|
|
|
|
|
+ <controls:FanControl Width="44" Height="44"
|
|
|
|
|
+ IsRunning="{Binding Fan1Running}" Speed="1" Text="F1"/>
|
|
|
|
|
+ <TextBlock Text="椋庢満1" FontFamily="Consolas, monospace" FontSize="9"
|
|
|
|
|
+ Foreground="#6B7280" HorizontalAlignment="Center" Margin="0,2,0,0"/>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+ <StackPanel>
|
|
|
|
|
+ <controls:FanControl Width="44" Height="44"
|
|
|
|
|
+ IsRunning="{Binding Fan2Running}" Speed="1.5" Text="F2"/>
|
|
|
|
|
+ <TextBlock Text="椋庢満2" FontFamily="Consolas, monospace" FontSize="9"
|
|
|
|
|
+ Foreground="#6B7280" HorizontalAlignment="Center" Margin="0,2,0,0"/>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 鈹鈹鈹 娴佸悜绠ご 鈹鈹鈹 -->
|
|
|
|
|
+ <TextBlock Text="鈫" Canvas.Left="145" Canvas.Top="75" FontSize="20" Foreground="#00897B"/>
|
|
|
|
|
+ <TextBlock Text="鈫" Canvas.Left="295" Canvas.Top="75" FontSize="20" Foreground="#00897B"/>
|
|
|
|
|
+ <TextBlock Text="鈫" Canvas.Left="445" Canvas.Top="75" FontSize="20" Foreground="#00897B"/>
|
|
|
|
|
+ <TextBlock Text="鈫" Canvas.Left="595" Canvas.Top="75" FontSize="20" Foreground="#00897B"/>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 鈹鈹鈹 妯″紡鍒囨崲 鈹鈹鈹 -->
|
|
|
|
|
+ <Border Canvas.Left="700" Canvas.Top="20" Width="160" Height="80"
|
|
|
|
|
+ Background="#111820" BorderBrush="#1C2333" BorderThickness="1" CornerRadius="2">
|
|
|
|
|
+ <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" Spacing="6">
|
|
|
|
|
+ <TextBlock Text="MODE" FontFamily="Consolas, monospace"
|
|
|
|
|
+ FontSize="10" Foreground="#6B7280" HorizontalAlignment="Center"/>
|
|
|
|
|
+ <controls:ValveControl Width="40" Height="40"
|
|
|
|
|
+ Status="{Binding ModeStatus}" Text="AUTO"
|
|
|
|
|
+ ValveColor="#00897B" BackgroundColor="#1C2333"/>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+ </Border>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 鈹鈹鈹 瀹炴椂鏁版嵁闈㈡澘 鈹鈹鈹 -->
|
|
|
|
|
+ <Border Canvas.Left="700" Canvas.Top="110" Width="160" Height="180"
|
|
|
|
|
+ Background="#111820" BorderBrush="#1C2333" BorderThickness="1" CornerRadius="2">
|
|
|
|
|
+ <StackPanel Margin="10,8" Spacing="8">
|
|
|
|
|
+ <TextBlock Text="REALTIME" FontFamily="Consolas, monospace"
|
|
|
|
|
+ FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
+
|
|
|
|
|
+ <StackPanel Spacing="2">
|
|
|
|
|
+ <TextBlock Text="INFLOW" FontFamily="Consolas, monospace" FontSize="9" Foreground="#4B5563"/>
|
|
|
|
|
+ <TextBlock FontFamily="Consolas, monospace" FontSize="16" FontWeight="Bold" Foreground="#00897B">
|
|
|
|
|
+ <Run Text="{Binding InflowRate, StringFormat='{}{0:F1}'}"/>
|
|
|
|
|
+ <Run Text=" m鲁/h" FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
+ </TextBlock>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+
|
|
|
|
|
+ <Border Background="#1C2333" Height="1"/>
|
|
|
|
|
+
|
|
|
|
|
+ <StackPanel Spacing="2">
|
|
|
|
|
+ <TextBlock Text="OUTFLOW" FontFamily="Consolas, monospace" FontSize="9" Foreground="#4B5563"/>
|
|
|
|
|
+ <TextBlock FontFamily="Consolas, monospace" FontSize="16" FontWeight="Bold" Foreground="#2E7D32">
|
|
|
|
|
+ <Run Text="{Binding OutflowRate, StringFormat='{}{0:F1}'}"/>
|
|
|
|
|
+ <Run Text=" m鲁/h" FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
+ </TextBlock>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+
|
|
|
|
|
+ <Border Background="#1C2333" Height="1"/>
|
|
|
|
|
+
|
|
|
|
|
+ <StackPanel Spacing="2">
|
|
|
|
|
+ <TextBlock Text="DELTA" FontFamily="Consolas, monospace" FontSize="9" Foreground="#4B5563"/>
|
|
|
|
|
+ <TextBlock FontFamily="Consolas, monospace" FontSize="14" Foreground="#F59E0B">
|
|
|
|
|
+ <Run Text="{Binding FlowDelta, StringFormat='{}{0:F1}'}"/>
|
|
|
|
|
+ <Run Text=" m鲁/h" FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
+ </TextBlock>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+ </Border>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 鈹鈹鈹 杩愯缁熻 鈹鈹鈹 -->
|
|
|
|
|
+ <Border Canvas.Left="700" Canvas.Top="300" Width="160" Height="140"
|
|
|
|
|
+ Background="#111820" BorderBrush="#1C2333" BorderThickness="1" CornerRadius="2">
|
|
|
|
|
+ <StackPanel Margin="10,8" Spacing="6">
|
|
|
|
|
+ <TextBlock Text="STATISTICS" FontFamily="Consolas, monospace"
|
|
|
|
|
+ FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
+
|
|
|
|
|
+ <Grid ColumnDefinitions="*,Auto">
|
|
|
|
|
+ <TextBlock Grid.Column="0" Text="RUNTIME" FontFamily="Consolas, monospace" FontSize="10" Foreground="#4B5563"/>
|
|
|
|
|
+ <TextBlock Grid.Column="1" Text="{Binding RunningTime}" FontFamily="Consolas, monospace" FontSize="10" Foreground="#9CA3AF"/>
|
|
|
|
|
+ </Grid>
|
|
|
|
|
+
|
|
|
|
|
+ <Grid ColumnDefinitions="*,Auto">
|
|
|
|
|
+ <TextBlock Grid.Column="0" Text="DEVICES" FontFamily="Consolas, monospace" FontSize="10" Foreground="#4B5563"/>
|
|
|
|
|
+ <TextBlock Grid.Column="1" Text="{Binding RunningDeviceCount, StringFormat='{}{0} ON'}" FontFamily="Consolas, monospace" FontSize="10" Foreground="#00897B"/>
|
|
|
|
|
+ </Grid>
|
|
|
|
|
+
|
|
|
|
|
+ <Grid ColumnDefinitions="*,Auto">
|
|
|
|
|
+ <TextBlock Grid.Column="0" Text="ALARMS" FontFamily="Consolas, monospace" FontSize="10" Foreground="#4B5563"/>
|
|
|
|
|
+ <TextBlock Grid.Column="1" Text="{Binding AlarmCount, StringFormat='{}{0}'}" FontFamily="Consolas, monospace" FontSize="10" Foreground="#EF4444"/>
|
|
|
|
|
+ </Grid>
|
|
|
|
|
+
|
|
|
|
|
+ <Border Background="#1C2333" Height="1"/>
|
|
|
|
|
+
|
|
|
|
|
+ <TextBlock Text="EFFICIENCY" FontFamily="Consolas, monospace" FontSize="10" Foreground="#4B5563"/>
|
|
|
|
|
+ <TextBlock FontFamily="Consolas, monospace" FontSize="18" FontWeight="Bold" Foreground="#00897B">
|
|
|
|
|
+ <Run Text="{Binding Efficiency, StringFormat='{}{0:F0}'}"/>
|
|
|
|
|
+ <Run Text="%" FontSize="12" Foreground="#6B7280"/>
|
|
|
|
|
+ </TextBlock>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+ </Border>
|
|
|
|
|
+ </Canvas>
|
|
|
</Border>
|
|
</Border>
|
|
|
|
|
|
|
|
- <!-- 娴佺▼绠ご -->
|
|
|
|
|
- <Path Data="M 140 100 L 200 100" Stroke="#58A6FF" StrokeThickness="2">
|
|
|
|
|
- <Path.Data>
|
|
|
|
|
- <StreamGeometry>M 140 100 L 200 100</StreamGeometry>
|
|
|
|
|
- </Path.Data>
|
|
|
|
|
- </Path>
|
|
|
|
|
- <Path Data="M 320 100 L 380 100" Stroke="#58A6FF" StrokeThickness="2"/>
|
|
|
|
|
- <Path Data="M 500 100 L 560 100" Stroke="#58A6FF" StrokeThickness="2"/>
|
|
|
|
|
- </Canvas>
|
|
|
|
|
|
|
+ <!-- 搴曢儴璁惧鐘舵佹潯 -->
|
|
|
|
|
+ <Border Grid.Row="2" Background="#111820" CornerRadius="2" Margin="0,4,0,0" Padding="8,6">
|
|
|
|
|
+ <StackPanel Orientation="Horizontal" Spacing="16">
|
|
|
|
|
+ <!-- 璁惧 LED 鎸囩ず -->
|
|
|
|
|
+ <StackPanel Orientation="Horizontal" Spacing="4">
|
|
|
|
|
+ <Border Width="8" Height="8" CornerRadius="4"
|
|
|
|
|
+ Background="{Binding Pump1StatusColor}"/>
|
|
|
|
|
+ <TextBlock Text="P1" FontFamily="Consolas, monospace" FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+ <StackPanel Orientation="Horizontal" Spacing="4">
|
|
|
|
|
+ <Border Width="8" Height="8" CornerRadius="4"
|
|
|
|
|
+ Background="{Binding Pump2StatusColor}"/>
|
|
|
|
|
+ <TextBlock Text="P2" FontFamily="Consolas, monospace" FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+ <StackPanel Orientation="Horizontal" Spacing="4">
|
|
|
|
|
+ <Border Width="8" Height="8" CornerRadius="4"
|
|
|
|
|
+ Background="{Binding Pump3StatusColor}"/>
|
|
|
|
|
+ <TextBlock Text="P3" FontFamily="Consolas, monospace" FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+ <StackPanel Orientation="Horizontal" Spacing="4">
|
|
|
|
|
+ <Border Width="8" Height="8" CornerRadius="4"
|
|
|
|
|
+ Background="{Binding Pump4StatusColor}"/>
|
|
|
|
|
+ <TextBlock Text="P4" FontFamily="Consolas, monospace" FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+ <StackPanel Orientation="Horizontal" Spacing="4">
|
|
|
|
|
+ <Border Width="8" Height="8" CornerRadius="4"
|
|
|
|
|
+ Background="{Binding Pump5StatusColor}"/>
|
|
|
|
|
+ <TextBlock Text="P5" FontFamily="Consolas, monospace" FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+
|
|
|
|
|
+ <Border Background="#1C2333" Width="1" Height="16"/>
|
|
|
|
|
+
|
|
|
|
|
+ <StackPanel Orientation="Horizontal" Spacing="4">
|
|
|
|
|
+ <Border Width="8" Height="8" CornerRadius="4"
|
|
|
|
|
+ Background="{Binding Fan1StatusColor}"/>
|
|
|
|
|
+ <TextBlock Text="F1" FontFamily="Consolas, monospace" FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+ <StackPanel Orientation="Horizontal" Spacing="4">
|
|
|
|
|
+ <Border Width="8" Height="8" CornerRadius="4"
|
|
|
|
|
+ Background="{Binding Fan2StatusColor}"/>
|
|
|
|
|
+ <TextBlock Text="F2" FontFamily="Consolas, monospace" FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+
|
|
|
|
|
+ <Border Background="#1C2333" Width="1" Height="16"/>
|
|
|
|
|
+
|
|
|
|
|
+ <StackPanel Orientation="Horizontal" Spacing="4">
|
|
|
|
|
+ <Border Width="8" Height="8" CornerRadius="4"
|
|
|
|
|
+ Background="{Binding Valve1StatusColor}"/>
|
|
|
|
|
+ <TextBlock Text="V1" FontFamily="Consolas, monospace" FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+ <StackPanel Orientation="Horizontal" Spacing="4">
|
|
|
|
|
+ <Border Width="8" Height="8" CornerRadius="4"
|
|
|
|
|
+ Background="{Binding Valve2StatusColor}"/>
|
|
|
|
|
+ <TextBlock Text="V2" FontFamily="Consolas, monospace" FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+ <StackPanel Orientation="Horizontal" Spacing="4">
|
|
|
|
|
+ <Border Width="8" Height="8" CornerRadius="4"
|
|
|
|
|
+ Background="{Binding Valve3StatusColor}"/>
|
|
|
|
|
+ <TextBlock Text="V3" FontFamily="Consolas, monospace" FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+ <StackPanel Orientation="Horizontal" Spacing="4">
|
|
|
|
|
+ <Border Width="8" Height="8" CornerRadius="4"
|
|
|
|
|
+ Background="{Binding Valve4StatusColor}"/>
|
|
|
|
|
+ <TextBlock Text="V4" FontFamily="Consolas, monospace" FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+ </Border>
|
|
|
|
|
+ </Grid>
|
|
|
</Border>
|
|
</Border>
|
|
|
|
|
|
|
|
<!-- 鍙充晶闈㈡澘 -->
|
|
<!-- 鍙充晶闈㈡澘 -->
|
|
|
- <Grid Grid.Column="1" RowDefinitions="Auto,Auto,Auto,*,Auto">
|
|
|
|
|
|
|
+ <Grid Grid.Column="1" RowDefinitions="Auto,Auto,*,Auto">
|
|
|
|
|
|
|
|
<!-- 娴侀噺浠〃 -->
|
|
<!-- 娴侀噺浠〃 -->
|
|
|
- <Border Grid.Row="0" Background="#161B22" CornerRadius="8" Padding="10" Margin="0,0,0,10">
|
|
|
|
|
|
|
+ <Border Grid.Row="0" Background="#111820" CornerRadius="2" Padding="10,8" Margin="0,0,0,4"
|
|
|
|
|
+ BorderBrush="#1C2333" BorderThickness="1">
|
|
|
<StackPanel>
|
|
<StackPanel>
|
|
|
- <TextBlock Text="娴侀噺鐩戞祴" FontWeight="Bold" Foreground="White" Margin="0,0,0,10"/>
|
|
|
|
|
|
|
+ <StackPanel Orientation="Horizontal" Spacing="6" Margin="0,0,0,8">
|
|
|
|
|
+ <Border Background="#00897B" Width="3" Height="14" CornerRadius="1"/>
|
|
|
|
|
+ <TextBlock Text="FLOW METERS" FontFamily="Consolas, monospace"
|
|
|
|
|
+ FontSize="11" Foreground="#9CA3AF"/>
|
|
|
|
|
+ </StackPanel>
|
|
|
<Grid ColumnDefinitions="*,*">
|
|
<Grid ColumnDefinitions="*,*">
|
|
|
- <controls:GaugeControl Grid.Column="0" Width="120" Height="140"
|
|
|
|
|
- Value="{Binding InflowRate}" Title="杩涙按" Unit="m鲁/h"
|
|
|
|
|
- MaxValue="100"/>
|
|
|
|
|
- <controls:GaugeControl Grid.Column="1" Width="120" Height="140"
|
|
|
|
|
- Value="{Binding OutflowRate}" Title="鍑烘按" Unit="m鲁/h"
|
|
|
|
|
- MaxValue="100"
|
|
|
|
|
- ValueColor="#66BB6A"/>
|
|
|
|
|
|
|
+ <controls:GaugeControl Grid.Column="0" Width="110" Height="130"
|
|
|
|
|
+ Value="{Binding InflowRate}" Title="IN" Unit="m鲁/h"
|
|
|
|
|
+ MaxValue="100" ValueColor="#00897B"/>
|
|
|
|
|
+ <controls:GaugeControl Grid.Column="1" Width="110" Height="130"
|
|
|
|
|
+ Value="{Binding OutflowRate}" Title="OUT" Unit="m鲁/h"
|
|
|
|
|
+ MaxValue="100" ValueColor="#2E7D32"/>
|
|
|
</Grid>
|
|
</Grid>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
</Border>
|
|
</Border>
|
|
|
|
|
|
|
|
<!-- 璁惧鐘舵 -->
|
|
<!-- 璁惧鐘舵 -->
|
|
|
- <Border Grid.Row="1" Background="#161B22" CornerRadius="8" Padding="10" Margin="0,0,0,10">
|
|
|
|
|
|
|
+ <Border Grid.Row="1" Background="#111820" CornerRadius="2" Padding="10,8" Margin="0,0,0,4"
|
|
|
|
|
+ BorderBrush="#1C2333" BorderThickness="1">
|
|
|
<StackPanel>
|
|
<StackPanel>
|
|
|
- <TextBlock Text="璁惧鐘舵" FontWeight="Bold" Foreground="White" Margin="0,0,0,10"/>
|
|
|
|
|
- <StackPanel Spacing="5">
|
|
|
|
|
- <controls:StatusCard Title="杩涙按娉1" Status="{Binding Pump1Status}" Icon="馃攧"
|
|
|
|
|
|
|
+ <StackPanel Orientation="Horizontal" Spacing="6" Margin="0,0,0,8">
|
|
|
|
|
+ <Border Background="#F59E0B" Width="3" Height="14" CornerRadius="1"/>
|
|
|
|
|
+ <TextBlock Text="DEVICE STATUS" FontFamily="Consolas, monospace"
|
|
|
|
|
+ FontSize="11" Foreground="#9CA3AF"/>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+ <StackPanel Spacing="3">
|
|
|
|
|
+ <controls:StatusCard Title="杩涙按娉1" Status="{Binding Pump1Status}" Icon="P1"
|
|
|
IsActive="{Binding Pump1Running}"/>
|
|
IsActive="{Binding Pump1Running}"/>
|
|
|
- <controls:StatusCard Title="杩涙按娉2" Status="{Binding Pump2Status}" Icon="馃攧"
|
|
|
|
|
|
|
+ <controls:StatusCard Title="杩涙按娉2" Status="{Binding Pump2Status}" Icon="P2"
|
|
|
IsActive="{Binding Pump2Running}"/>
|
|
IsActive="{Binding Pump2Running}"/>
|
|
|
- <controls:StatusCard Title="鍥炴祦娉" Status="{Binding Pump3Status}" Icon="馃攧"
|
|
|
|
|
|
|
+ <controls:StatusCard Title="鍥炴祦娉" Status="{Binding Pump3Status}" Icon="P3"
|
|
|
IsActive="{Binding Pump3Running}"/>
|
|
IsActive="{Binding Pump3Running}"/>
|
|
|
- <controls:StatusCard Title="椋庢満1" Status="{Binding Fan1Status}" Icon="馃寑"
|
|
|
|
|
|
|
+ <controls:StatusCard Title="椋庢満1" Status="{Binding Fan1Status}" Icon="F1"
|
|
|
IsActive="{Binding Fan1Running}"/>
|
|
IsActive="{Binding Fan1Running}"/>
|
|
|
- <controls:StatusCard Title="椋庢満2" Status="{Binding Fan2Status}" Icon="馃寑"
|
|
|
|
|
|
|
+ <controls:StatusCard Title="椋庢満2" Status="{Binding Fan2Status}" Icon="F2"
|
|
|
IsActive="{Binding Fan2Running}"/>
|
|
IsActive="{Binding Fan2Running}"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
</Border>
|
|
</Border>
|
|
|
|
|
|
|
|
- <!-- 鎶ヨ淇℃伅 -->
|
|
|
|
|
- <Border Grid.Row="2" Background="#161B22" CornerRadius="8" Padding="10" Margin="0,0,0,10"
|
|
|
|
|
|
|
+ <!-- 鎶ヨ闈㈡澘 -->
|
|
|
|
|
+ <Border Grid.Row="2" Background="#111820" CornerRadius="2" Padding="10,8" Margin="0,0,0,4"
|
|
|
|
|
+ BorderBrush="#1C2333" BorderThickness="1"
|
|
|
IsVisible="{Binding HasAlarm}">
|
|
IsVisible="{Binding HasAlarm}">
|
|
|
<StackPanel>
|
|
<StackPanel>
|
|
|
- <TextBlock Text="鈿狅笍 鎶ヨ淇℃伅" FontWeight="Bold" Foreground="#F85149" Margin="0,0,0,10"/>
|
|
|
|
|
- <Border Background="#F85149" CornerRadius="5" Padding="10">
|
|
|
|
|
- <TextBlock Text="{Binding AlarmMessage}" Foreground="White" TextWrapping="Wrap"/>
|
|
|
|
|
|
|
+ <StackPanel Orientation="Horizontal" Spacing="6" Margin="0,0,0,8">
|
|
|
|
|
+ <Border Background="#EF4444" Width="3" Height="14" CornerRadius="1"/>
|
|
|
|
|
+ <TextBlock Text="ALARM" FontFamily="Consolas, monospace"
|
|
|
|
|
+ FontSize="11" Foreground="#EF4444"/>
|
|
|
|
|
+ <TextBlock Text="{Binding AlarmCount, StringFormat='({0})'}"
|
|
|
|
|
+ FontFamily="Consolas, monospace" FontSize="11" Foreground="#EF4444"/>
|
|
|
|
|
+ </StackPanel>
|
|
|
|
|
+ <Border Background="#1C0000" BorderBrush="#EF4444" BorderThickness="1" Padding="8">
|
|
|
|
|
+ <TextBlock Text="{Binding AlarmMessage}" Foreground="#EF4444"
|
|
|
|
|
+ FontFamily="Consolas, monospace" FontSize="11"
|
|
|
|
|
+ TextWrapping="Wrap"/>
|
|
|
</Border>
|
|
</Border>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
</Border>
|
|
</Border>
|
|
|
|
|
|
|
|
<!-- 蹇嵎鎿嶄綔 -->
|
|
<!-- 蹇嵎鎿嶄綔 -->
|
|
|
- <Border Grid.Row="4" Background="#161B22" CornerRadius="8" Padding="10">
|
|
|
|
|
|
|
+ <Border Grid.Row="3" Background="#111820" CornerRadius="2" Padding="10,8"
|
|
|
|
|
+ BorderBrush="#1C2333" BorderThickness="1">
|
|
|
<StackPanel>
|
|
<StackPanel>
|
|
|
- <TextBlock Text="蹇嵎鎿嶄綔" FontWeight="Bold" Foreground="White" Margin="0,0,0,10"/>
|
|
|
|
|
|
|
+ <StackPanel Orientation="Horizontal" Spacing="6" Margin="0,0,0,8">
|
|
|
|
|
+ <Border Background="#3B82F6" Width="3" Height="14" CornerRadius="1"/>
|
|
|
|
|
+ <TextBlock Text="QUICK OPS" FontFamily="Consolas, monospace"
|
|
|
|
|
+ FontSize="11" Foreground="#9CA3AF"/>
|
|
|
|
|
+ </StackPanel>
|
|
|
<WrapPanel HorizontalAlignment="Center">
|
|
<WrapPanel HorizontalAlignment="Center">
|
|
|
- <Button Content="鍏ㄩ儴鍚姩" Margin="5" Padding="12,6"/>
|
|
|
|
|
- <Button Content="鍏ㄩ儴鍋滄" Margin="5" Padding="12,6"/>
|
|
|
|
|
- <Button Content="鎶ヨ纭" Margin="5" Padding="12,6"/>
|
|
|
|
|
- <Button Content="鏁版嵁瀵煎嚭" Margin="5" Padding="12,6"/>
|
|
|
|
|
|
|
+ <Button Content="START ALL" Margin="3" Padding="10,5"
|
|
|
|
|
+ FontFamily="Consolas, monospace" FontSize="10"
|
|
|
|
|
+ Background="#1C2333" Foreground="#00897B" BorderBrush="#00897B"/>
|
|
|
|
|
+ <Button Content="STOP ALL" Margin="3" Padding="10,5"
|
|
|
|
|
+ FontFamily="Consolas, monospace" FontSize="10"
|
|
|
|
|
+ Background="#1C2333" Foreground="#EF4444" BorderBrush="#EF4444"/>
|
|
|
|
|
+ <Button Content="ACK ALARM" Margin="3" Padding="10,5"
|
|
|
|
|
+ FontFamily="Consolas, monospace" FontSize="10"
|
|
|
|
|
+ Background="#1C2333" Foreground="#F59E0B" BorderBrush="#F59E0B"/>
|
|
|
|
|
+ <Button Content="EXPORT" Margin="3" Padding="10,5"
|
|
|
|
|
+ FontFamily="Consolas, monospace" FontSize="10"
|
|
|
|
|
+ Background="#1C2333" Foreground="#3B82F6" BorderBrush="#3B82F6"/>
|
|
|
</WrapPanel>
|
|
</WrapPanel>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
</Border>
|
|
</Border>
|
|
|
</Grid>
|
|
</Grid>
|
|
|
</Grid>
|
|
</Grid>
|
|
|
|
|
|
|
|
- <!-- 搴曢儴鐘舵佹爮 -->
|
|
|
|
|
- <Border Grid.Row="2" Background="#161B22" CornerRadius="8" Padding="12" Margin="0,10,0,0">
|
|
|
|
|
- <Grid ColumnDefinitions="Auto,*,Auto,Auto,Auto">
|
|
|
|
|
- <StackPanel Grid.Column="0" Orientation="Horizontal" Spacing="20">
|
|
|
|
|
- <TextBlock Foreground="#8B949E" FontSize="11">
|
|
|
|
|
- <Run Text="杩涙按: "/>
|
|
|
|
|
- <Run Text="{Binding InflowRate, StringFormat='{}{0:F1} m鲁/h'}" Foreground="#58A6FF"/>
|
|
|
|
|
- </TextBlock>
|
|
|
|
|
- <TextBlock Foreground="#8B949E" FontSize="11">
|
|
|
|
|
- <Run Text="鍑烘按: "/>
|
|
|
|
|
- <Run Text="{Binding OutflowRate, StringFormat='{}{0:F1} m鲁/h'}" Foreground="#66BB6A"/>
|
|
|
|
|
- </TextBlock>
|
|
|
|
|
- </StackPanel>
|
|
|
|
|
|
|
+ <!-- 鈺愨晲鈺 搴曢儴鐘舵佹爮 鈺愨晲鈺 -->
|
|
|
|
|
+ <Border Grid.Row="2" Background="#111820" BorderBrush="#1C2333" BorderThickness="0,1,0,0">
|
|
|
|
|
+ <Grid ColumnDefinitions="Auto,*,Auto,Auto,Auto,Auto" Margin="16,0">
|
|
|
|
|
+ <TextBlock Grid.Column="0" VerticalAlignment="Center"
|
|
|
|
|
+ FontFamily="Consolas, monospace" FontSize="11" Foreground="#4B5563">
|
|
|
|
|
+ <Run Text="INFLOW: "/>
|
|
|
|
|
+ <Run Text="{Binding InflowRate, StringFormat='{}{0:F1}'}" Foreground="#00897B"/>
|
|
|
|
|
+ <Run Text=" m鲁/h"/>
|
|
|
|
|
+ </TextBlock>
|
|
|
|
|
+
|
|
|
|
|
+ <TextBlock Grid.Column="1" VerticalAlignment="Center" Margin="24,0"
|
|
|
|
|
+ FontFamily="Consolas, monospace" FontSize="11" Foreground="#4B5563">
|
|
|
|
|
+ <Run Text="OUTFLOW: "/>
|
|
|
|
|
+ <Run Text="{Binding OutflowRate, StringFormat='{}{0:F1}'}" Foreground="#2E7D32"/>
|
|
|
|
|
+ <Run Text=" m鲁/h"/>
|
|
|
|
|
+ </TextBlock>
|
|
|
|
|
+
|
|
|
|
|
+ <TextBlock Grid.Column="2" VerticalAlignment="Center"
|
|
|
|
|
+ FontFamily="Consolas, monospace" FontSize="11" Foreground="#4B5563">
|
|
|
|
|
+ <Run Text="DEVICES: "/>
|
|
|
|
|
+ <Run Text="{Binding RunningDeviceCount, StringFormat='{}{0}'}" Foreground="#00897B"/>
|
|
|
|
|
+ <Run Text=" ACTIVE"/>
|
|
|
|
|
+ </TextBlock>
|
|
|
|
|
|
|
|
- <TextBlock Grid.Column="2" Foreground="#8B949E" FontSize="11">
|
|
|
|
|
- <Run Text="杩愯璁惧: "/>
|
|
|
|
|
- <Run Text="{Binding RunningDeviceCount}" Foreground="#58A6FF"/>
|
|
|
|
|
- <Run Text=" 鍙"/>
|
|
|
|
|
|
|
+ <TextBlock Grid.Column="3" VerticalAlignment="Center" Margin="24,0"
|
|
|
|
|
+ FontFamily="Consolas, monospace" FontSize="11" Foreground="#4B5563">
|
|
|
|
|
+ <Run Text="ALARM: "/>
|
|
|
|
|
+ <Run Text="{Binding AlarmCount, StringFormat='{}{0}'}" Foreground="#EF4444"/>
|
|
|
</TextBlock>
|
|
</TextBlock>
|
|
|
|
|
|
|
|
- <TextBlock Grid.Column="3" Foreground="#8B949E" FontSize="11" Margin="20,0">
|
|
|
|
|
- <Run Text="鎶ヨ: "/>
|
|
|
|
|
- <Run Text="{Binding AlarmCount}" Foreground="#F85149"/>
|
|
|
|
|
- <Run Text=" 鏉"/>
|
|
|
|
|
|
|
+ <TextBlock Grid.Column="4" VerticalAlignment="Center" Margin="24,0"
|
|
|
|
|
+ FontFamily="Consolas, monospace" FontSize="11" Foreground="#4B5563">
|
|
|
|
|
+ <Run Text="UPTIME: "/>
|
|
|
|
|
+ <Run Text="{Binding RunningTime}" Foreground="#9CA3AF"/>
|
|
|
</TextBlock>
|
|
</TextBlock>
|
|
|
|
|
|
|
|
- <TextBlock Grid.Column="4" Foreground="#8B949E" FontSize="11">
|
|
|
|
|
- <Run Text="绯荤粺杩愯: "/>
|
|
|
|
|
- <Run Text="{Binding RunningTime}" Foreground="#58A6FF"/>
|
|
|
|
|
|
|
+ <TextBlock Grid.Column="5" VerticalAlignment="Center"
|
|
|
|
|
+ FontFamily="Consolas, monospace" FontSize="11" Foreground="#4B5563">
|
|
|
|
|
+ <Run Text="v3.0.0"/>
|
|
|
</TextBlock>
|
|
</TextBlock>
|
|
|
</Grid>
|
|
</Grid>
|
|
|
</Border>
|
|
</Border>
|