|
@@ -10,46 +10,46 @@
|
|
|
</UserControl.DataContext>
|
|
</UserControl.DataContext>
|
|
|
|
|
|
|
|
<!-- 不设固定宽高,由 AdaptiveContainer 控制缩放 -->
|
|
<!-- 不设固定宽高,由 AdaptiveContainer 控制缩放 -->
|
|
|
- <Border Background="#0A0E14">
|
|
|
|
|
|
|
+ <Border Background="{DynamicResource AppBgBrush}">
|
|
|
<Grid RowDefinitions="48,*,32">
|
|
<Grid RowDefinitions="48,*,32">
|
|
|
|
|
|
|
|
<!-- ═══ 顶部标题栏 ═══ -->
|
|
<!-- ═══ 顶部标题栏 ═══ -->
|
|
|
- <Border Grid.Row="0" Background="#111820" BorderBrush="#1C2333" BorderThickness="0,0,0,1">
|
|
|
|
|
|
|
+ <Border Grid.Row="0" Background="{DynamicResource SurfaceBgBrush}" BorderBrush="{DynamicResource BorderBrush}" BorderThickness="0,0,0,1">
|
|
|
<Grid ColumnDefinitions="Auto,*,Auto,Auto,Auto" Margin="16,0">
|
|
<Grid ColumnDefinitions="Auto,*,Auto,Auto,Auto" Margin="16,0">
|
|
|
<StackPanel Grid.Column="0" Orientation="Horizontal" Spacing="12" VerticalAlignment="Center">
|
|
<StackPanel Grid.Column="0" Orientation="Horizontal" Spacing="12" VerticalAlignment="Center">
|
|
|
- <Border Background="#00897B" Width="4" Height="24" CornerRadius="2"/>
|
|
|
|
|
|
|
+ <Border Background="{DynamicResource SuccessBrush}" Width="4" Height="24" CornerRadius="2"/>
|
|
|
<TextBlock Text="YZ WATER" FontSize="16" FontWeight="Bold"
|
|
<TextBlock Text="YZ WATER" FontSize="16" FontWeight="Bold"
|
|
|
- Foreground="#E0E0E0" FontFamily="Consolas, monospace"
|
|
|
|
|
|
|
+ Foreground="{DynamicResource TextPrimaryBrush}" FontFamily="Consolas, monospace"
|
|
|
VerticalAlignment="Center"/>
|
|
VerticalAlignment="Center"/>
|
|
|
<TextBlock Text="污水处理监控系统" FontSize="13"
|
|
<TextBlock Text="污水处理监控系统" FontSize="13"
|
|
|
- Foreground="#6B7280" VerticalAlignment="Center"/>
|
|
|
|
|
|
|
+ Foreground="{DynamicResource TextTertiaryBrush}" VerticalAlignment="Center"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
|
|
|
|
|
<StackPanel Grid.Column="2" Orientation="Horizontal" Spacing="8" VerticalAlignment="Center" Margin="24,0">
|
|
<StackPanel Grid.Column="2" Orientation="Horizontal" Spacing="8" VerticalAlignment="Center" Margin="24,0">
|
|
|
- <Border Width="10" Height="10" CornerRadius="5" Background="#00897B"/>
|
|
|
|
|
|
|
+ <Border Width="10" Height="10" CornerRadius="5" Background="{DynamicResource SuccessBrush}"/>
|
|
|
<TextBlock Text="PLC CONNECTED" FontFamily="Consolas, monospace" FontSize="11"
|
|
<TextBlock Text="PLC CONNECTED" FontFamily="Consolas, monospace" FontSize="11"
|
|
|
- Foreground="#00897B" VerticalAlignment="Center"/>
|
|
|
|
|
|
|
+ Foreground="{DynamicResource SuccessBrush}" VerticalAlignment="Center"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
|
|
|
|
|
<StackPanel Grid.Column="3" Orientation="Horizontal" Spacing="4" VerticalAlignment="Center" Margin="16,0">
|
|
<StackPanel Grid.Column="3" Orientation="Horizontal" Spacing="4" VerticalAlignment="Center" Margin="16,0">
|
|
|
<Button Content="CONNECT" Command="{Binding ConnectPlcCommand}"
|
|
<Button Content="CONNECT" Command="{Binding ConnectPlcCommand}"
|
|
|
FontFamily="Consolas, monospace" FontSize="10" Padding="10,4"
|
|
FontFamily="Consolas, monospace" FontSize="10" Padding="10,4"
|
|
|
- Background="#1C2333" Foreground="#00897B" BorderBrush="#00897B"/>
|
|
|
|
|
|
|
+ Background="{DynamicResource BorderBrush}" Foreground="{DynamicResource SuccessBrush}" BorderBrush="{DynamicResource SuccessBrush}"/>
|
|
|
<Button Content="DISCONNECT" Command="{Binding DisconnectPlcCommand}"
|
|
<Button Content="DISCONNECT" Command="{Binding DisconnectPlcCommand}"
|
|
|
FontFamily="Consolas, monospace" FontSize="10" Padding="10,4"
|
|
FontFamily="Consolas, monospace" FontSize="10" Padding="10,4"
|
|
|
- Background="#1C2333" Foreground="#EF4444" BorderBrush="#EF4444"/>
|
|
|
|
|
|
|
+ Background="{DynamicResource BorderBrush}" Foreground="{DynamicResource DangerBrush}" BorderBrush="{DynamicResource DangerBrush}"/>
|
|
|
<Button Content="REFRESH" Command="{Binding RefreshDataCommand}"
|
|
<Button Content="REFRESH" Command="{Binding RefreshDataCommand}"
|
|
|
FontFamily="Consolas, monospace" FontSize="10" Padding="10,4"
|
|
FontFamily="Consolas, monospace" FontSize="10" Padding="10,4"
|
|
|
- Background="#1C2333" Foreground="#3B82F6" BorderBrush="#3B82F6"/>
|
|
|
|
|
|
|
+ Background="{DynamicResource BorderBrush}" Foreground="{DynamicResource InfoBrush}" BorderBrush="{DynamicResource InfoBrush}"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
|
|
|
|
|
<StackPanel Grid.Column="4" VerticalAlignment="Center" HorizontalAlignment="Right">
|
|
<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}'}"
|
|
|
FontFamily="Consolas, monospace" FontSize="18" FontWeight="Bold"
|
|
FontFamily="Consolas, monospace" FontSize="18" FontWeight="Bold"
|
|
|
- Foreground="#00897B"/>
|
|
|
|
|
|
|
+ Foreground="{DynamicResource SuccessBrush}"/>
|
|
|
<TextBlock Text="{Binding CurrentTime, StringFormat='{}{0:yyyy-MM-dd}'}"
|
|
<TextBlock Text="{Binding CurrentTime, StringFormat='{}{0:yyyy-MM-dd}'}"
|
|
|
FontFamily="Consolas, monospace" FontSize="10"
|
|
FontFamily="Consolas, monospace" FontSize="10"
|
|
|
- Foreground="#4B5563" HorizontalAlignment="Right"/>
|
|
|
|
|
|
|
+ Foreground="{DynamicResource TextDisabledBrush}" HorizontalAlignment="Right"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
</Grid>
|
|
</Grid>
|
|
|
</Border>
|
|
</Border>
|
|
@@ -58,18 +58,18 @@
|
|
|
<Grid Grid.Row="1" ColumnDefinitions="*,260" Margin="8,4">
|
|
<Grid Grid.Row="1" ColumnDefinitions="*,260" Margin="8,4">
|
|
|
|
|
|
|
|
<!-- 左侧:工艺流程图 -->
|
|
<!-- 左侧:工艺流程图 -->
|
|
|
- <Border Grid.Column="0" Background="#111820" CornerRadius="2" Margin="0,0,4,0"
|
|
|
|
|
- BorderBrush="#1C2333" BorderThickness="1">
|
|
|
|
|
|
|
+ <Border Grid.Column="0" Background="{DynamicResource SurfaceBgBrush}" CornerRadius="2" Margin="0,0,4,0"
|
|
|
|
|
+ BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1">
|
|
|
<Grid RowDefinitions="Auto,*,Auto" Margin="12,8">
|
|
<Grid RowDefinitions="Auto,*,Auto" Margin="12,8">
|
|
|
|
|
|
|
|
<StackPanel Grid.Row="0" Orientation="Horizontal" Spacing="8" Margin="0,0,0,8">
|
|
<StackPanel Grid.Row="0" Orientation="Horizontal" Spacing="8" Margin="0,0,0,8">
|
|
|
- <Border Background="#00897B" Width="3" Height="16" CornerRadius="1"/>
|
|
|
|
|
|
|
+ <Border Background="{DynamicResource SuccessBrush}" Width="3" Height="16" CornerRadius="1"/>
|
|
|
<TextBlock Text="PROCESS FLOW" FontFamily="Consolas, monospace"
|
|
<TextBlock Text="PROCESS FLOW" FontFamily="Consolas, monospace"
|
|
|
- FontSize="12" FontWeight="Bold" Foreground="#9CA3AF"/>
|
|
|
|
|
|
|
+ FontSize="12" FontWeight="Bold" Foreground="{DynamicResource TextSecondaryBrush}"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
|
|
|
|
|
<!-- 工艺流程区域 - 使用 Grid 替代 Canvas 实现自适应 -->
|
|
<!-- 工艺流程区域 - 使用 Grid 替代 Canvas 实现自适应 -->
|
|
|
- <Border Grid.Row="1" Background="#0D1117" CornerRadius="2" Padding="8">
|
|
|
|
|
|
|
+ <Border Grid.Row="1" Background="{DynamicResource PanelBgBrush}" CornerRadius="2" Padding="8">
|
|
|
<Grid RowDefinitions="Auto,Auto,Auto,Auto" ColumnDefinitions="*,*,*,*,Auto">
|
|
<Grid RowDefinitions="Auto,Auto,Auto,Auto" ColumnDefinitions="*,*,*,*,Auto">
|
|
|
|
|
|
|
|
<!-- 第一行:水箱 -->
|
|
<!-- 第一行:水箱 -->
|
|
@@ -78,44 +78,44 @@
|
|
|
<StackPanel>
|
|
<StackPanel>
|
|
|
<controls:WaterTankControl Width="110" Height="130"
|
|
<controls:WaterTankControl Width="110" Height="130"
|
|
|
WaterLevel="{Binding Tank1Level}" Text="入口池"
|
|
WaterLevel="{Binding Tank1Level}" Text="入口池"
|
|
|
- WaterColor="#00897B" BorderColor="#1C2333"/>
|
|
|
|
|
- <Border Background="#1C2333" Padding="6,2" Margin="0,2,0,0">
|
|
|
|
|
|
|
+ WaterColor="{DynamicResource TankInletBrush}" BorderColor="{DynamicResource BorderBrush}"/>
|
|
|
|
|
+ <Border Background="{DynamicResource BorderBrush}" Padding="6,2" Margin="0,2,0,0">
|
|
|
<TextBlock Text="{Binding Tank1Level, StringFormat='LV: {0:F1}%'}"
|
|
<TextBlock Text="{Binding Tank1Level, StringFormat='LV: {0:F1}%'}"
|
|
|
FontFamily="Consolas, monospace" FontSize="11"
|
|
FontFamily="Consolas, monospace" FontSize="11"
|
|
|
- Foreground="#00897B" HorizontalAlignment="Center"/>
|
|
|
|
|
|
|
+ Foreground="{DynamicResource SuccessBrush}" HorizontalAlignment="Center"/>
|
|
|
</Border>
|
|
</Border>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
- <TextBlock Text="→" FontSize="24" Foreground="#00897B" VerticalAlignment="Center"/>
|
|
|
|
|
|
|
+ <TextBlock Text="→" FontSize="24" Foreground="{DynamicResource SuccessBrush}" VerticalAlignment="Center"/>
|
|
|
<StackPanel>
|
|
<StackPanel>
|
|
|
<controls:WaterTankControl Width="110" Height="130"
|
|
<controls:WaterTankControl Width="110" Height="130"
|
|
|
WaterLevel="{Binding Tank2Level}" Text="生化池"
|
|
WaterLevel="{Binding Tank2Level}" Text="生化池"
|
|
|
- WaterColor="#0288D1" BorderColor="#1C2333"/>
|
|
|
|
|
- <Border Background="#1C2333" Padding="6,2" Margin="0,2,0,0">
|
|
|
|
|
|
|
+ WaterColor="{DynamicResource TankBioBrush}" BorderColor="{DynamicResource BorderBrush}"/>
|
|
|
|
|
+ <Border Background="{DynamicResource BorderBrush}" Padding="6,2" Margin="0,2,0,0">
|
|
|
<TextBlock Text="{Binding Tank2Level, StringFormat='LV: {0:F1}%'}"
|
|
<TextBlock Text="{Binding Tank2Level, StringFormat='LV: {0:F1}%'}"
|
|
|
FontFamily="Consolas, monospace" FontSize="11"
|
|
FontFamily="Consolas, monospace" FontSize="11"
|
|
|
- Foreground="#0288D1" HorizontalAlignment="Center"/>
|
|
|
|
|
|
|
+ Foreground="{DynamicResource TankBioBrush}" HorizontalAlignment="Center"/>
|
|
|
</Border>
|
|
</Border>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
- <TextBlock Text="→" FontSize="24" Foreground="#00897B" VerticalAlignment="Center"/>
|
|
|
|
|
|
|
+ <TextBlock Text="→" FontSize="24" Foreground="{DynamicResource SuccessBrush}" VerticalAlignment="Center"/>
|
|
|
<StackPanel>
|
|
<StackPanel>
|
|
|
<controls:WaterTankControl Width="110" Height="130"
|
|
<controls:WaterTankControl Width="110" Height="130"
|
|
|
WaterLevel="{Binding Tank3Level}" Text="沉淀池"
|
|
WaterLevel="{Binding Tank3Level}" Text="沉淀池"
|
|
|
- WaterColor="#7B1FA2" BorderColor="#1C2333"/>
|
|
|
|
|
- <Border Background="#1C2333" Padding="6,2" Margin="0,2,0,0">
|
|
|
|
|
|
|
+ WaterColor="{DynamicResource TankSedimentBrush}" BorderColor="{DynamicResource BorderBrush}"/>
|
|
|
|
|
+ <Border Background="{DynamicResource BorderBrush}" Padding="6,2" Margin="0,2,0,0">
|
|
|
<TextBlock Text="{Binding Tank3Level, StringFormat='LV: {0:F1}%'}"
|
|
<TextBlock Text="{Binding Tank3Level, StringFormat='LV: {0:F1}%'}"
|
|
|
FontFamily="Consolas, monospace" FontSize="11"
|
|
FontFamily="Consolas, monospace" FontSize="11"
|
|
|
- Foreground="#7B1FA2" HorizontalAlignment="Center"/>
|
|
|
|
|
|
|
+ Foreground="{DynamicResource TankSedimentBrush}" HorizontalAlignment="Center"/>
|
|
|
</Border>
|
|
</Border>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
- <TextBlock Text="→" FontSize="24" Foreground="#00897B" VerticalAlignment="Center"/>
|
|
|
|
|
|
|
+ <TextBlock Text="→" FontSize="24" Foreground="{DynamicResource SuccessBrush}" VerticalAlignment="Center"/>
|
|
|
<StackPanel>
|
|
<StackPanel>
|
|
|
<controls:WaterTankControl Width="110" Height="130"
|
|
<controls:WaterTankControl Width="110" Height="130"
|
|
|
WaterLevel="{Binding Tank4Level}" Text="出口池"
|
|
WaterLevel="{Binding Tank4Level}" Text="出口池"
|
|
|
- WaterColor="#2E7D32" BorderColor="#1C2333"/>
|
|
|
|
|
- <Border Background="#1C2333" Padding="6,2" Margin="0,2,0,0">
|
|
|
|
|
|
|
+ WaterColor="{DynamicResource TankOutletBrush}" BorderColor="{DynamicResource BorderBrush}"/>
|
|
|
|
|
+ <Border Background="{DynamicResource BorderBrush}" Padding="6,2" Margin="0,2,0,0">
|
|
|
<TextBlock Text="{Binding Tank4Level, StringFormat='LV: {0:F1}%'}"
|
|
<TextBlock Text="{Binding Tank4Level, StringFormat='LV: {0:F1}%'}"
|
|
|
FontFamily="Consolas, monospace" FontSize="11"
|
|
FontFamily="Consolas, monospace" FontSize="11"
|
|
|
- Foreground="#2E7D32" HorizontalAlignment="Center"/>
|
|
|
|
|
|
|
+ Foreground="{DynamicResource TankOutletBrush}" HorizontalAlignment="Center"/>
|
|
|
</Border>
|
|
</Border>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
@@ -124,7 +124,7 @@
|
|
|
<Border Grid.Row="1" Grid.ColumnSpan="4" Margin="0,0,0,4">
|
|
<Border Grid.Row="1" Grid.ColumnSpan="4" Margin="0,0,0,4">
|
|
|
<controls:PipeLineControl Height="18"
|
|
<controls:PipeLineControl Height="18"
|
|
|
IsFlow="{Binding IsInflowRunning}" IsHorizontal="True"
|
|
IsFlow="{Binding IsInflowRunning}" IsHorizontal="True"
|
|
|
- PipeColor="#1C2333" WaterColor="#00897B"/>
|
|
|
|
|
|
|
+ PipeColor="{DynamicResource BorderBrush}" WaterColor="{DynamicResource TankInletBrush}"/>
|
|
|
</Border>
|
|
</Border>
|
|
|
|
|
|
|
|
<!-- 第三行:阀门 -->
|
|
<!-- 第三行:阀门 -->
|
|
@@ -132,16 +132,16 @@
|
|
|
Spacing="40" HorizontalAlignment="Center" Margin="0,0,0,8">
|
|
Spacing="40" HorizontalAlignment="Center" Margin="0,0,0,8">
|
|
|
<controls:ValveControl Width="36" Height="44"
|
|
<controls:ValveControl Width="36" Height="44"
|
|
|
Status="{Binding Valve1Status}" Text="V1"
|
|
Status="{Binding Valve1Status}" Text="V1"
|
|
|
- ValveColor="#F59E0B" BackgroundColor="#1C2333"/>
|
|
|
|
|
|
|
+ ValveColor="{DynamicResource WarningBrush}" BackgroundColor="{DynamicResource BorderBrush}"/>
|
|
|
<controls:ValveControl Width="36" Height="44"
|
|
<controls:ValveControl Width="36" Height="44"
|
|
|
Status="{Binding Valve2Status}" Text="V2"
|
|
Status="{Binding Valve2Status}" Text="V2"
|
|
|
- ValveColor="#F59E0B" BackgroundColor="#1C2333"/>
|
|
|
|
|
|
|
+ ValveColor="{DynamicResource WarningBrush}" BackgroundColor="{DynamicResource BorderBrush}"/>
|
|
|
<controls:ValveControl Width="36" Height="44"
|
|
<controls:ValveControl Width="36" Height="44"
|
|
|
Status="{Binding Valve3Status}" Text="V3"
|
|
Status="{Binding Valve3Status}" Text="V3"
|
|
|
- ValveColor="#F59E0B" BackgroundColor="#1C2333"/>
|
|
|
|
|
|
|
+ ValveColor="{DynamicResource WarningBrush}" BackgroundColor="{DynamicResource BorderBrush}"/>
|
|
|
<controls:ValveControl Width="36" Height="44"
|
|
<controls:ValveControl Width="36" Height="44"
|
|
|
Status="{Binding Valve4Status}" Text="V4"
|
|
Status="{Binding Valve4Status}" Text="V4"
|
|
|
- ValveColor="#F59E0B" BackgroundColor="#1C2333"/>
|
|
|
|
|
|
|
+ ValveColor="{DynamicResource WarningBrush}" BackgroundColor="{DynamicResource BorderBrush}"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
|
|
|
|
|
<!-- 第四行:泵+风机 -->
|
|
<!-- 第四行:泵+风机 -->
|
|
@@ -151,32 +151,32 @@
|
|
|
<StackPanel>
|
|
<StackPanel>
|
|
|
<controls:PumpControl Width="60" Height="68"
|
|
<controls:PumpControl Width="60" Height="68"
|
|
|
IsRunning="{Binding Pump1Running}" Frequency="50" Text="P1"/>
|
|
IsRunning="{Binding Pump1Running}" Frequency="50" Text="P1"/>
|
|
|
- <TextBlock Text="进水泵1" FontFamily="Consolas, monospace" FontSize="9"
|
|
|
|
|
- Foreground="#6B7280" HorizontalAlignment="Center" Margin="0,2,0,0"/>
|
|
|
|
|
|
|
+ <TextBlock Text="进水泵1" FontFamily="Consolas, monospace" FontSize="10"
|
|
|
|
|
+ Foreground="{DynamicResource TextTertiaryBrush}" HorizontalAlignment="Center" Margin="0,2,0,0"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
<StackPanel>
|
|
<StackPanel>
|
|
|
<controls:PumpControl Width="60" Height="68"
|
|
<controls:PumpControl Width="60" Height="68"
|
|
|
IsRunning="{Binding Pump2Running}" Frequency="45" Text="P2"/>
|
|
IsRunning="{Binding Pump2Running}" Frequency="45" Text="P2"/>
|
|
|
- <TextBlock Text="进水泵2" FontFamily="Consolas, monospace" FontSize="9"
|
|
|
|
|
- Foreground="#6B7280" HorizontalAlignment="Center" Margin="0,2,0,0"/>
|
|
|
|
|
|
|
+ <TextBlock Text="进水泵2" FontFamily="Consolas, monospace" FontSize="10"
|
|
|
|
|
+ Foreground="{DynamicResource TextTertiaryBrush}" HorizontalAlignment="Center" Margin="0,2,0,0"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
<StackPanel>
|
|
<StackPanel>
|
|
|
<controls:PumpControl Width="60" Height="68"
|
|
<controls:PumpControl Width="60" Height="68"
|
|
|
IsRunning="{Binding Pump3Running}" Frequency="40" Text="P3"/>
|
|
IsRunning="{Binding Pump3Running}" Frequency="40" Text="P3"/>
|
|
|
- <TextBlock Text="回流泵" FontFamily="Consolas, monospace" FontSize="9"
|
|
|
|
|
- Foreground="#6B7280" HorizontalAlignment="Center" Margin="0,2,0,0"/>
|
|
|
|
|
|
|
+ <TextBlock Text="回流泵" FontFamily="Consolas, monospace" FontSize="10"
|
|
|
|
|
+ Foreground="{DynamicResource TextTertiaryBrush}" HorizontalAlignment="Center" Margin="0,2,0,0"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
<StackPanel>
|
|
<StackPanel>
|
|
|
<controls:PumpControl Width="60" Height="68"
|
|
<controls:PumpControl Width="60" Height="68"
|
|
|
IsRunning="{Binding Pump4Running}" Frequency="35" Text="P4"/>
|
|
IsRunning="{Binding Pump4Running}" Frequency="35" Text="P4"/>
|
|
|
- <TextBlock Text="排泥泵" FontFamily="Consolas, monospace" FontSize="9"
|
|
|
|
|
- Foreground="#6B7280" HorizontalAlignment="Center" Margin="0,2,0,0"/>
|
|
|
|
|
|
|
+ <TextBlock Text="排泥泵" FontFamily="Consolas, monospace" FontSize="10"
|
|
|
|
|
+ Foreground="{DynamicResource TextTertiaryBrush}" HorizontalAlignment="Center" Margin="0,2,0,0"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
<StackPanel>
|
|
<StackPanel>
|
|
|
<controls:PumpControl Width="60" Height="68"
|
|
<controls:PumpControl Width="60" Height="68"
|
|
|
IsRunning="{Binding Pump5Running}" Frequency="55" Text="P5"/>
|
|
IsRunning="{Binding Pump5Running}" Frequency="55" Text="P5"/>
|
|
|
- <TextBlock Text="加药泵" FontFamily="Consolas, monospace" FontSize="9"
|
|
|
|
|
- Foreground="#6B7280" HorizontalAlignment="Center" Margin="0,2,0,0"/>
|
|
|
|
|
|
|
+ <TextBlock Text="加药泵" FontFamily="Consolas, monospace" FontSize="10"
|
|
|
|
|
+ Foreground="{DynamicResource TextTertiaryBrush}" HorizontalAlignment="Center" Margin="0,2,0,0"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
|
|
|
|
@@ -185,14 +185,14 @@
|
|
|
<StackPanel>
|
|
<StackPanel>
|
|
|
<controls:FanControl Width="44" Height="44"
|
|
<controls:FanControl Width="44" Height="44"
|
|
|
IsRunning="{Binding Fan1Running}" Speed="1" Text="F1"/>
|
|
IsRunning="{Binding Fan1Running}" Speed="1" Text="F1"/>
|
|
|
- <TextBlock Text="风机1" FontFamily="Consolas, monospace" FontSize="9"
|
|
|
|
|
- Foreground="#6B7280" HorizontalAlignment="Center" Margin="0,2,0,0"/>
|
|
|
|
|
|
|
+ <TextBlock Text="风机1" FontFamily="Consolas, monospace" FontSize="10"
|
|
|
|
|
+ Foreground="{DynamicResource TextTertiaryBrush}" HorizontalAlignment="Center" Margin="0,2,0,0"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
<StackPanel>
|
|
<StackPanel>
|
|
|
<controls:FanControl Width="44" Height="44"
|
|
<controls:FanControl Width="44" Height="44"
|
|
|
IsRunning="{Binding Fan2Running}" Speed="1.5" Text="F2"/>
|
|
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"/>
|
|
|
|
|
|
|
+ <TextBlock Text="风机2" FontFamily="Consolas, monospace" FontSize="10"
|
|
|
|
|
+ Foreground="{DynamicResource TextTertiaryBrush}" HorizontalAlignment="Center" Margin="0,2,0,0"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
</Grid>
|
|
</Grid>
|
|
@@ -200,72 +200,72 @@
|
|
|
<!-- 右侧:数据面板 -->
|
|
<!-- 右侧:数据面板 -->
|
|
|
<Grid Grid.Row="0" Grid.RowSpan="4" Grid.Column="4" RowDefinitions="Auto,Auto,Auto" Margin="8,0,0,0">
|
|
<Grid Grid.Row="0" Grid.RowSpan="4" Grid.Column="4" RowDefinitions="Auto,Auto,Auto" Margin="8,0,0,0">
|
|
|
<!-- 模式 -->
|
|
<!-- 模式 -->
|
|
|
- <Border Grid.Row="0" Background="#111820" BorderBrush="#1C2333" BorderThickness="1"
|
|
|
|
|
|
|
+ <Border Grid.Row="0" Background="{DynamicResource SurfaceBgBrush}" BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1"
|
|
|
CornerRadius="2" Padding="8" Margin="0,0,0,6">
|
|
CornerRadius="2" Padding="8" Margin="0,0,0,6">
|
|
|
<StackPanel HorizontalAlignment="Center" Spacing="4">
|
|
<StackPanel HorizontalAlignment="Center" Spacing="4">
|
|
|
<TextBlock Text="MODE" FontFamily="Consolas, monospace"
|
|
<TextBlock Text="MODE" FontFamily="Consolas, monospace"
|
|
|
- FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
|
|
+ FontSize="10" Foreground="{DynamicResource TextTertiaryBrush}"/>
|
|
|
<controls:ValveControl Width="36" Height="36"
|
|
<controls:ValveControl Width="36" Height="36"
|
|
|
Status="{Binding ModeStatus}" Text="AUTO"
|
|
Status="{Binding ModeStatus}" Text="AUTO"
|
|
|
- ValveColor="#00897B" BackgroundColor="#1C2333"/>
|
|
|
|
|
|
|
+ ValveColor="{DynamicResource SuccessBrush}" BackgroundColor="{DynamicResource BorderBrush}"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
</Border>
|
|
</Border>
|
|
|
|
|
|
|
|
<!-- 实时数据 -->
|
|
<!-- 实时数据 -->
|
|
|
- <Border Grid.Row="1" Background="#111820" BorderBrush="#1C2333" BorderThickness="1"
|
|
|
|
|
|
|
+ <Border Grid.Row="1" Background="{DynamicResource SurfaceBgBrush}" BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1"
|
|
|
CornerRadius="2" Padding="8" Margin="0,0,0,6">
|
|
CornerRadius="2" Padding="8" Margin="0,0,0,6">
|
|
|
<StackPanel Spacing="6">
|
|
<StackPanel Spacing="6">
|
|
|
<TextBlock Text="REALTIME" FontFamily="Consolas, monospace"
|
|
<TextBlock Text="REALTIME" FontFamily="Consolas, monospace"
|
|
|
- FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
|
|
+ FontSize="10" Foreground="{DynamicResource TextTertiaryBrush}"/>
|
|
|
<StackPanel Spacing="1">
|
|
<StackPanel Spacing="1">
|
|
|
- <TextBlock Text="INFLOW" FontFamily="Consolas, monospace" FontSize="9" Foreground="#4B5563"/>
|
|
|
|
|
- <TextBlock FontFamily="Consolas, monospace" FontSize="15" FontWeight="Bold" Foreground="#00897B">
|
|
|
|
|
|
|
+ <TextBlock Text="INFLOW" FontFamily="Consolas, monospace" FontSize="10" Foreground="{DynamicResource TextDisabledBrush}"/>
|
|
|
|
|
+ <TextBlock FontFamily="Consolas, monospace" FontSize="15" FontWeight="Bold" Foreground="{DynamicResource SuccessBrush}">
|
|
|
<Run Text="{Binding InflowRate, StringFormat='{}{0:F1}'}"/>
|
|
<Run Text="{Binding InflowRate, StringFormat='{}{0:F1}'}"/>
|
|
|
- <Run Text=" m³/h" FontSize="9" Foreground="#6B7280"/>
|
|
|
|
|
|
|
+ <Run Text=" m³/h" FontSize="10" Foreground="{DynamicResource TextTertiaryBrush}"/>
|
|
|
</TextBlock>
|
|
</TextBlock>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
- <Border Background="#1C2333" Height="1"/>
|
|
|
|
|
|
|
+ <Border Background="{DynamicResource BorderBrush}" Height="1"/>
|
|
|
<StackPanel Spacing="1">
|
|
<StackPanel Spacing="1">
|
|
|
- <TextBlock Text="OUTFLOW" FontFamily="Consolas, monospace" FontSize="9" Foreground="#4B5563"/>
|
|
|
|
|
- <TextBlock FontFamily="Consolas, monospace" FontSize="15" FontWeight="Bold" Foreground="#2E7D32">
|
|
|
|
|
|
|
+ <TextBlock Text="OUTFLOW" FontFamily="Consolas, monospace" FontSize="10" Foreground="{DynamicResource TextDisabledBrush}"/>
|
|
|
|
|
+ <TextBlock FontFamily="Consolas, monospace" FontSize="15" FontWeight="Bold" Foreground="{DynamicResource TankOutletBrush}">
|
|
|
<Run Text="{Binding OutflowRate, StringFormat='{}{0:F1}'}"/>
|
|
<Run Text="{Binding OutflowRate, StringFormat='{}{0:F1}'}"/>
|
|
|
- <Run Text=" m³/h" FontSize="9" Foreground="#6B7280"/>
|
|
|
|
|
|
|
+ <Run Text=" m³/h" FontSize="10" Foreground="{DynamicResource TextTertiaryBrush}"/>
|
|
|
</TextBlock>
|
|
</TextBlock>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
- <Border Background="#1C2333" Height="1"/>
|
|
|
|
|
|
|
+ <Border Background="{DynamicResource BorderBrush}" Height="1"/>
|
|
|
<StackPanel Spacing="1">
|
|
<StackPanel Spacing="1">
|
|
|
- <TextBlock Text="DELTA" FontFamily="Consolas, monospace" FontSize="9" Foreground="#4B5563"/>
|
|
|
|
|
- <TextBlock FontFamily="Consolas, monospace" FontSize="13" Foreground="#F59E0B">
|
|
|
|
|
|
|
+ <TextBlock Text="DELTA" FontFamily="Consolas, monospace" FontSize="10" Foreground="{DynamicResource TextDisabledBrush}"/>
|
|
|
|
|
+ <TextBlock FontFamily="Consolas, monospace" FontSize="13" Foreground="{DynamicResource WarningBrush}">
|
|
|
<Run Text="{Binding FlowDelta, StringFormat='{}{0:F1}'}"/>
|
|
<Run Text="{Binding FlowDelta, StringFormat='{}{0:F1}'}"/>
|
|
|
- <Run Text=" m³/h" FontSize="9" Foreground="#6B7280"/>
|
|
|
|
|
|
|
+ <Run Text=" m³/h" FontSize="10" Foreground="{DynamicResource TextTertiaryBrush}"/>
|
|
|
</TextBlock>
|
|
</TextBlock>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
</Border>
|
|
</Border>
|
|
|
|
|
|
|
|
<!-- 统计 -->
|
|
<!-- 统计 -->
|
|
|
- <Border Grid.Row="2" Background="#111820" BorderBrush="#1C2333" BorderThickness="1"
|
|
|
|
|
|
|
+ <Border Grid.Row="2" Background="{DynamicResource SurfaceBgBrush}" BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1"
|
|
|
CornerRadius="2" Padding="8">
|
|
CornerRadius="2" Padding="8">
|
|
|
<StackPanel Spacing="5">
|
|
<StackPanel Spacing="5">
|
|
|
<TextBlock Text="STATISTICS" FontFamily="Consolas, monospace"
|
|
<TextBlock Text="STATISTICS" FontFamily="Consolas, monospace"
|
|
|
- FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
|
|
+ FontSize="10" Foreground="{DynamicResource TextTertiaryBrush}"/>
|
|
|
<Grid ColumnDefinitions="*,Auto">
|
|
<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"/>
|
|
|
|
|
|
|
+ <TextBlock Grid.Column="0" Text="RUNTIME" FontFamily="Consolas, monospace" FontSize="10" Foreground="{DynamicResource TextDisabledBrush}"/>
|
|
|
|
|
+ <TextBlock Grid.Column="1" Text="{Binding RunningTime}" FontFamily="Consolas, monospace" FontSize="10" Foreground="{DynamicResource TextSecondaryBrush}"/>
|
|
|
</Grid>
|
|
</Grid>
|
|
|
<Grid ColumnDefinitions="*,Auto">
|
|
<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"/>
|
|
|
|
|
|
|
+ <TextBlock Grid.Column="0" Text="DEVICES" FontFamily="Consolas, monospace" FontSize="10" Foreground="{DynamicResource TextDisabledBrush}"/>
|
|
|
|
|
+ <TextBlock Grid.Column="1" Text="{Binding RunningDeviceCount, StringFormat='{}{0} ON'}" FontFamily="Consolas, monospace" FontSize="10" Foreground="{DynamicResource SuccessBrush}"/>
|
|
|
</Grid>
|
|
</Grid>
|
|
|
<Grid ColumnDefinitions="*,Auto">
|
|
<Grid ColumnDefinitions="*,Auto">
|
|
|
- <TextBlock Grid.Column="0" Text="ALARM" FontFamily="Consolas, monospace" FontSize="10" Foreground="#4B5563"/>
|
|
|
|
|
- <TextBlock Grid.Column="1" Text="{Binding AlarmCount, StringFormat='{}{0}'}" FontFamily="Consolas, monospace" FontSize="10" Foreground="#EF4444"/>
|
|
|
|
|
|
|
+ <TextBlock Grid.Column="0" Text="ALARM" FontFamily="Consolas, monospace" FontSize="10" Foreground="{DynamicResource TextDisabledBrush}"/>
|
|
|
|
|
+ <TextBlock Grid.Column="1" Text="{Binding AlarmCount, StringFormat='{}{0}'}" FontFamily="Consolas, monospace" FontSize="10" Foreground="{DynamicResource DangerBrush}"/>
|
|
|
</Grid>
|
|
</Grid>
|
|
|
- <Border Background="#1C2333" Height="1"/>
|
|
|
|
|
- <TextBlock Text="EFFICIENCY" FontFamily="Consolas, monospace" FontSize="10" Foreground="#4B5563"/>
|
|
|
|
|
- <TextBlock FontFamily="Consolas, monospace" FontSize="16" FontWeight="Bold" Foreground="#00897B">
|
|
|
|
|
|
|
+ <Border Background="{DynamicResource BorderBrush}" Height="1"/>
|
|
|
|
|
+ <TextBlock Text="EFFICIENCY" FontFamily="Consolas, monospace" FontSize="10" Foreground="{DynamicResource TextDisabledBrush}"/>
|
|
|
|
|
+ <TextBlock FontFamily="Consolas, monospace" FontSize="16" FontWeight="Bold" Foreground="{DynamicResource SuccessBrush}">
|
|
|
<Run Text="{Binding Efficiency, StringFormat='{}{0:F0}'}"/>
|
|
<Run Text="{Binding Efficiency, StringFormat='{}{0:F0}'}"/>
|
|
|
- <Run Text="%" FontSize="11" Foreground="#6B7280"/>
|
|
|
|
|
|
|
+ <Run Text="%" FontSize="11" Foreground="{DynamicResource TextTertiaryBrush}"/>
|
|
|
</TextBlock>
|
|
</TextBlock>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
</Border>
|
|
</Border>
|
|
@@ -274,53 +274,53 @@
|
|
|
</Border>
|
|
</Border>
|
|
|
|
|
|
|
|
<!-- 底部设备状态条 -->
|
|
<!-- 底部设备状态条 -->
|
|
|
- <Border Grid.Row="2" Background="#111820" CornerRadius="2" Margin="0,4,0,0" Padding="8,6">
|
|
|
|
|
|
|
+ <Border Grid.Row="2" Background="{DynamicResource SurfaceBgBrush}" CornerRadius="2" Margin="0,4,0,0" Padding="8,6">
|
|
|
<StackPanel Orientation="Horizontal" Spacing="12">
|
|
<StackPanel Orientation="Horizontal" Spacing="12">
|
|
|
<StackPanel Orientation="Horizontal" Spacing="4">
|
|
<StackPanel Orientation="Horizontal" Spacing="4">
|
|
|
<Border Width="8" Height="8" CornerRadius="4" Background="{Binding Pump1StatusColor}"/>
|
|
<Border Width="8" Height="8" CornerRadius="4" Background="{Binding Pump1StatusColor}"/>
|
|
|
- <TextBlock Text="P1" FontFamily="Consolas, monospace" FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
|
|
+ <TextBlock Text="P1" FontFamily="Consolas, monospace" FontSize="10" Foreground="{DynamicResource TextTertiaryBrush}"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
<StackPanel Orientation="Horizontal" Spacing="4">
|
|
<StackPanel Orientation="Horizontal" Spacing="4">
|
|
|
<Border Width="8" Height="8" CornerRadius="4" Background="{Binding Pump2StatusColor}"/>
|
|
<Border Width="8" Height="8" CornerRadius="4" Background="{Binding Pump2StatusColor}"/>
|
|
|
- <TextBlock Text="P2" FontFamily="Consolas, monospace" FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
|
|
+ <TextBlock Text="P2" FontFamily="Consolas, monospace" FontSize="10" Foreground="{DynamicResource TextTertiaryBrush}"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
<StackPanel Orientation="Horizontal" Spacing="4">
|
|
<StackPanel Orientation="Horizontal" Spacing="4">
|
|
|
<Border Width="8" Height="8" CornerRadius="4" Background="{Binding Pump3StatusColor}"/>
|
|
<Border Width="8" Height="8" CornerRadius="4" Background="{Binding Pump3StatusColor}"/>
|
|
|
- <TextBlock Text="P3" FontFamily="Consolas, monospace" FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
|
|
+ <TextBlock Text="P3" FontFamily="Consolas, monospace" FontSize="10" Foreground="{DynamicResource TextTertiaryBrush}"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
<StackPanel Orientation="Horizontal" Spacing="4">
|
|
<StackPanel Orientation="Horizontal" Spacing="4">
|
|
|
<Border Width="8" Height="8" CornerRadius="4" Background="{Binding Pump4StatusColor}"/>
|
|
<Border Width="8" Height="8" CornerRadius="4" Background="{Binding Pump4StatusColor}"/>
|
|
|
- <TextBlock Text="P4" FontFamily="Consolas, monospace" FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
|
|
+ <TextBlock Text="P4" FontFamily="Consolas, monospace" FontSize="10" Foreground="{DynamicResource TextTertiaryBrush}"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
<StackPanel Orientation="Horizontal" Spacing="4">
|
|
<StackPanel Orientation="Horizontal" Spacing="4">
|
|
|
<Border Width="8" Height="8" CornerRadius="4" Background="{Binding Pump5StatusColor}"/>
|
|
<Border Width="8" Height="8" CornerRadius="4" Background="{Binding Pump5StatusColor}"/>
|
|
|
- <TextBlock Text="P5" FontFamily="Consolas, monospace" FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
|
|
+ <TextBlock Text="P5" FontFamily="Consolas, monospace" FontSize="10" Foreground="{DynamicResource TextTertiaryBrush}"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
- <Border Background="#1C2333" Width="1" Height="16"/>
|
|
|
|
|
|
|
+ <Border Background="{DynamicResource BorderBrush}" Width="1" Height="16"/>
|
|
|
<StackPanel Orientation="Horizontal" Spacing="4">
|
|
<StackPanel Orientation="Horizontal" Spacing="4">
|
|
|
<Border Width="8" Height="8" CornerRadius="4" Background="{Binding Fan1StatusColor}"/>
|
|
<Border Width="8" Height="8" CornerRadius="4" Background="{Binding Fan1StatusColor}"/>
|
|
|
- <TextBlock Text="F1" FontFamily="Consolas, monospace" FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
|
|
+ <TextBlock Text="F1" FontFamily="Consolas, monospace" FontSize="10" Foreground="{DynamicResource TextTertiaryBrush}"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
<StackPanel Orientation="Horizontal" Spacing="4">
|
|
<StackPanel Orientation="Horizontal" Spacing="4">
|
|
|
<Border Width="8" Height="8" CornerRadius="4" Background="{Binding Fan2StatusColor}"/>
|
|
<Border Width="8" Height="8" CornerRadius="4" Background="{Binding Fan2StatusColor}"/>
|
|
|
- <TextBlock Text="F2" FontFamily="Consolas, monospace" FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
|
|
+ <TextBlock Text="F2" FontFamily="Consolas, monospace" FontSize="10" Foreground="{DynamicResource TextTertiaryBrush}"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
- <Border Background="#1C2333" Width="1" Height="16"/>
|
|
|
|
|
|
|
+ <Border Background="{DynamicResource BorderBrush}" Width="1" Height="16"/>
|
|
|
<StackPanel Orientation="Horizontal" Spacing="4">
|
|
<StackPanel Orientation="Horizontal" Spacing="4">
|
|
|
<Border Width="8" Height="8" CornerRadius="4" Background="{Binding Valve1StatusColor}"/>
|
|
<Border Width="8" Height="8" CornerRadius="4" Background="{Binding Valve1StatusColor}"/>
|
|
|
- <TextBlock Text="V1" FontFamily="Consolas, monospace" FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
|
|
+ <TextBlock Text="V1" FontFamily="Consolas, monospace" FontSize="10" Foreground="{DynamicResource TextTertiaryBrush}"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
<StackPanel Orientation="Horizontal" Spacing="4">
|
|
<StackPanel Orientation="Horizontal" Spacing="4">
|
|
|
<Border Width="8" Height="8" CornerRadius="4" Background="{Binding Valve2StatusColor}"/>
|
|
<Border Width="8" Height="8" CornerRadius="4" Background="{Binding Valve2StatusColor}"/>
|
|
|
- <TextBlock Text="V2" FontFamily="Consolas, monospace" FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
|
|
+ <TextBlock Text="V2" FontFamily="Consolas, monospace" FontSize="10" Foreground="{DynamicResource TextTertiaryBrush}"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
<StackPanel Orientation="Horizontal" Spacing="4">
|
|
<StackPanel Orientation="Horizontal" Spacing="4">
|
|
|
<Border Width="8" Height="8" CornerRadius="4" Background="{Binding Valve3StatusColor}"/>
|
|
<Border Width="8" Height="8" CornerRadius="4" Background="{Binding Valve3StatusColor}"/>
|
|
|
- <TextBlock Text="V3" FontFamily="Consolas, monospace" FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
|
|
+ <TextBlock Text="V3" FontFamily="Consolas, monospace" FontSize="10" Foreground="{DynamicResource TextTertiaryBrush}"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
<StackPanel Orientation="Horizontal" Spacing="4">
|
|
<StackPanel Orientation="Horizontal" Spacing="4">
|
|
|
<Border Width="8" Height="8" CornerRadius="4" Background="{Binding Valve4StatusColor}"/>
|
|
<Border Width="8" Height="8" CornerRadius="4" Background="{Binding Valve4StatusColor}"/>
|
|
|
- <TextBlock Text="V4" FontFamily="Consolas, monospace" FontSize="10" Foreground="#6B7280"/>
|
|
|
|
|
|
|
+ <TextBlock Text="V4" FontFamily="Consolas, monospace" FontSize="10" Foreground="{DynamicResource TextTertiaryBrush}"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
</Border>
|
|
</Border>
|
|
@@ -330,30 +330,30 @@
|
|
|
<!-- 右侧面板 -->
|
|
<!-- 右侧面板 -->
|
|
|
<Grid Grid.Column="1" RowDefinitions="Auto,Auto,*,Auto">
|
|
<Grid Grid.Column="1" RowDefinitions="Auto,Auto,*,Auto">
|
|
|
|
|
|
|
|
- <Border Grid.Row="0" Background="#111820" CornerRadius="2" Padding="10,8" Margin="0,0,0,4"
|
|
|
|
|
- BorderBrush="#1C2333" BorderThickness="1">
|
|
|
|
|
|
|
+ <Border Grid.Row="0" Background="{DynamicResource SurfaceBgBrush}" CornerRadius="2" Padding="10,8" Margin="0,0,0,4"
|
|
|
|
|
+ BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1">
|
|
|
<StackPanel>
|
|
<StackPanel>
|
|
|
<StackPanel Orientation="Horizontal" Spacing="6" Margin="0,0,0,8">
|
|
<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"/>
|
|
|
|
|
|
|
+ <Border Background="{DynamicResource SuccessBrush}" Width="3" Height="14" CornerRadius="1"/>
|
|
|
|
|
+ <TextBlock Text="FLOW METERS" FontFamily="Consolas, monospace" FontSize="11" Foreground="{DynamicResource TextSecondaryBrush}"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
<Grid ColumnDefinitions="*,*">
|
|
<Grid ColumnDefinitions="*,*">
|
|
|
<controls:GaugeControl Grid.Column="0" Width="110" Height="130"
|
|
<controls:GaugeControl Grid.Column="0" Width="110" Height="130"
|
|
|
Value="{Binding InflowRate}" Title="IN" Unit="m³/h"
|
|
Value="{Binding InflowRate}" Title="IN" Unit="m³/h"
|
|
|
- MaxValue="100" ValueColor="#00897B"/>
|
|
|
|
|
|
|
+ MaxValue="100" ValueColor="{DynamicResource SuccessBrush}"/>
|
|
|
<controls:GaugeControl Grid.Column="1" Width="110" Height="130"
|
|
<controls:GaugeControl Grid.Column="1" Width="110" Height="130"
|
|
|
Value="{Binding OutflowRate}" Title="OUT" Unit="m³/h"
|
|
Value="{Binding OutflowRate}" Title="OUT" Unit="m³/h"
|
|
|
- MaxValue="100" ValueColor="#2E7D32"/>
|
|
|
|
|
|
|
+ MaxValue="100" ValueColor="{DynamicResource TankOutletBrush}"/>
|
|
|
</Grid>
|
|
</Grid>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
</Border>
|
|
</Border>
|
|
|
|
|
|
|
|
- <Border Grid.Row="1" Background="#111820" CornerRadius="2" Padding="10,8" Margin="0,0,0,4"
|
|
|
|
|
- BorderBrush="#1C2333" BorderThickness="1">
|
|
|
|
|
|
|
+ <Border Grid.Row="1" Background="{DynamicResource SurfaceBgBrush}" CornerRadius="2" Padding="10,8" Margin="0,0,0,4"
|
|
|
|
|
+ BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1">
|
|
|
<StackPanel>
|
|
<StackPanel>
|
|
|
<StackPanel Orientation="Horizontal" Spacing="6" Margin="0,0,0,8">
|
|
<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"/>
|
|
|
|
|
|
|
+ <Border Background="{DynamicResource WarningBrush}" Width="3" Height="14" CornerRadius="1"/>
|
|
|
|
|
+ <TextBlock Text="DEVICE STATUS" FontFamily="Consolas, monospace" FontSize="11" Foreground="{DynamicResource TextSecondaryBrush}"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
<StackPanel Spacing="3">
|
|
<StackPanel Spacing="3">
|
|
|
<controls:StatusCard Title="进水泵1" Status="{Binding Pump1Status}" Icon="P1" IsActive="{Binding Pump1Running}"/>
|
|
<controls:StatusCard Title="进水泵1" Status="{Binding Pump1Status}" Icon="P1" IsActive="{Binding Pump1Running}"/>
|
|
@@ -365,41 +365,41 @@
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
</Border>
|
|
</Border>
|
|
|
|
|
|
|
|
- <Border Grid.Row="2" Background="#111820" CornerRadius="2" Padding="10,8" Margin="0,0,0,4"
|
|
|
|
|
- BorderBrush="#1C2333" BorderThickness="1" IsVisible="{Binding HasAlarm}">
|
|
|
|
|
|
|
+ <Border Grid.Row="2" Background="{DynamicResource SurfaceBgBrush}" CornerRadius="2" Padding="10,8" Margin="0,0,0,4"
|
|
|
|
|
+ BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1" IsVisible="{Binding HasAlarm}">
|
|
|
<StackPanel>
|
|
<StackPanel>
|
|
|
<StackPanel Orientation="Horizontal" Spacing="6" Margin="0,0,0,8">
|
|
<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"/>
|
|
|
|
|
|
|
+ <Border Background="{DynamicResource DangerBrush}" Width="3" Height="14" CornerRadius="1"/>
|
|
|
|
|
+ <TextBlock Text="ALARM" FontFamily="Consolas, monospace" FontSize="11" Foreground="{DynamicResource DangerBrush}"/>
|
|
|
|
|
+ <TextBlock Text="{Binding AlarmCount, StringFormat='({0})'}" FontFamily="Consolas, monospace" FontSize="11" Foreground="{DynamicResource DangerBrush}"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
- <Border Background="#1C0000" BorderBrush="#EF4444" BorderThickness="1" Padding="8">
|
|
|
|
|
- <TextBlock Text="{Binding AlarmMessage}" Foreground="#EF4444"
|
|
|
|
|
|
|
+ <Border Background="{DynamicResource AlarmBgBrush}" BorderBrush="{DynamicResource DangerBrush}" BorderThickness="1" Padding="8">
|
|
|
|
|
+ <TextBlock Text="{Binding AlarmMessage}" Foreground="{DynamicResource DangerBrush}"
|
|
|
FontFamily="Consolas, monospace" FontSize="11" TextWrapping="Wrap"/>
|
|
FontFamily="Consolas, monospace" FontSize="11" TextWrapping="Wrap"/>
|
|
|
</Border>
|
|
</Border>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
</Border>
|
|
</Border>
|
|
|
|
|
|
|
|
- <Border Grid.Row="3" Background="#111820" CornerRadius="2" Padding="10,8"
|
|
|
|
|
- BorderBrush="#1C2333" BorderThickness="1">
|
|
|
|
|
|
|
+ <Border Grid.Row="3" Background="{DynamicResource SurfaceBgBrush}" CornerRadius="2" Padding="10,8"
|
|
|
|
|
+ BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1">
|
|
|
<StackPanel>
|
|
<StackPanel>
|
|
|
<StackPanel Orientation="Horizontal" Spacing="6" Margin="0,0,0,8">
|
|
<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"/>
|
|
|
|
|
|
|
+ <Border Background="{DynamicResource InfoBrush}" Width="3" Height="14" CornerRadius="1"/>
|
|
|
|
|
+ <TextBlock Text="QUICK OPS" FontFamily="Consolas, monospace" FontSize="11" Foreground="{DynamicResource TextSecondaryBrush}"/>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
<WrapPanel HorizontalAlignment="Center">
|
|
<WrapPanel HorizontalAlignment="Center">
|
|
|
<Button Content="START ALL" Margin="3" Padding="10,5"
|
|
<Button Content="START ALL" Margin="3" Padding="10,5"
|
|
|
FontFamily="Consolas, monospace" FontSize="10"
|
|
FontFamily="Consolas, monospace" FontSize="10"
|
|
|
- Background="#1C2333" Foreground="#00897B" BorderBrush="#00897B"/>
|
|
|
|
|
|
|
+ Background="{DynamicResource BorderBrush}" Foreground="{DynamicResource SuccessBrush}" BorderBrush="{DynamicResource SuccessBrush}"/>
|
|
|
<Button Content="STOP ALL" Margin="3" Padding="10,5"
|
|
<Button Content="STOP ALL" Margin="3" Padding="10,5"
|
|
|
FontFamily="Consolas, monospace" FontSize="10"
|
|
FontFamily="Consolas, monospace" FontSize="10"
|
|
|
- Background="#1C2333" Foreground="#EF4444" BorderBrush="#EF4444"/>
|
|
|
|
|
|
|
+ Background="{DynamicResource BorderBrush}" Foreground="{DynamicResource DangerBrush}" BorderBrush="{DynamicResource DangerBrush}"/>
|
|
|
<Button Content="ACK ALARM" Margin="3" Padding="10,5"
|
|
<Button Content="ACK ALARM" Margin="3" Padding="10,5"
|
|
|
FontFamily="Consolas, monospace" FontSize="10"
|
|
FontFamily="Consolas, monospace" FontSize="10"
|
|
|
- Background="#1C2333" Foreground="#F59E0B" BorderBrush="#F59E0B"/>
|
|
|
|
|
|
|
+ Background="{DynamicResource BorderBrush}" Foreground="{DynamicResource WarningBrush}" BorderBrush="{DynamicResource WarningBrush}"/>
|
|
|
<Button Content="EXPORT" Margin="3" Padding="10,5"
|
|
<Button Content="EXPORT" Margin="3" Padding="10,5"
|
|
|
FontFamily="Consolas, monospace" FontSize="10"
|
|
FontFamily="Consolas, monospace" FontSize="10"
|
|
|
- Background="#1C2333" Foreground="#3B82F6" BorderBrush="#3B82F6"/>
|
|
|
|
|
|
|
+ Background="{DynamicResource BorderBrush}" Foreground="{DynamicResource InfoBrush}" BorderBrush="{DynamicResource InfoBrush}"/>
|
|
|
</WrapPanel>
|
|
</WrapPanel>
|
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
</Border>
|
|
</Border>
|
|
@@ -407,30 +407,30 @@
|
|
|
</Grid>
|
|
</Grid>
|
|
|
|
|
|
|
|
<!-- ═══ 底部状态栏 ═══ -->
|
|
<!-- ═══ 底部状态栏 ═══ -->
|
|
|
- <Border Grid.Row="2" Background="#111820" BorderBrush="#1C2333" BorderThickness="0,1,0,0">
|
|
|
|
|
|
|
+ <Border Grid.Row="2" Background="{DynamicResource SurfaceBgBrush}" BorderBrush="{DynamicResource BorderBrush}" BorderThickness="0,1,0,0">
|
|
|
<Grid ColumnDefinitions="Auto,*,Auto,Auto,Auto,Auto" Margin="16,0">
|
|
<Grid ColumnDefinitions="Auto,*,Auto,Auto,Auto,Auto" Margin="16,0">
|
|
|
<TextBlock Grid.Column="0" VerticalAlignment="Center"
|
|
<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"/>
|
|
|
|
|
|
|
+ FontFamily="Consolas, monospace" FontSize="11" Foreground="{DynamicResource TextDisabledBrush}">
|
|
|
|
|
+ <Run Text="INFLOW: "/><Run Text="{Binding InflowRate, StringFormat='{}{0:F1}'}" Foreground="{DynamicResource SuccessBrush}"/><Run Text=" m³/h"/>
|
|
|
</TextBlock>
|
|
</TextBlock>
|
|
|
<TextBlock Grid.Column="1" VerticalAlignment="Center" Margin="24,0"
|
|
<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"/>
|
|
|
|
|
|
|
+ FontFamily="Consolas, monospace" FontSize="11" Foreground="{DynamicResource TextDisabledBrush}">
|
|
|
|
|
+ <Run Text="OUTFLOW: "/><Run Text="{Binding OutflowRate, StringFormat='{}{0:F1}'}" Foreground="{DynamicResource TankOutletBrush}"/><Run Text=" m³/h"/>
|
|
|
</TextBlock>
|
|
</TextBlock>
|
|
|
<TextBlock Grid.Column="2" VerticalAlignment="Center"
|
|
<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"/>
|
|
|
|
|
|
|
+ FontFamily="Consolas, monospace" FontSize="11" Foreground="{DynamicResource TextDisabledBrush}">
|
|
|
|
|
+ <Run Text="DEVICES: "/><Run Text="{Binding RunningDeviceCount, StringFormat='{}{0}'}" Foreground="{DynamicResource SuccessBrush}"/><Run Text=" ACTIVE"/>
|
|
|
</TextBlock>
|
|
</TextBlock>
|
|
|
<TextBlock Grid.Column="3" VerticalAlignment="Center" Margin="24,0"
|
|
<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"/>
|
|
|
|
|
|
|
+ FontFamily="Consolas, monospace" FontSize="11" Foreground="{DynamicResource TextDisabledBrush}">
|
|
|
|
|
+ <Run Text="ALARM: "/><Run Text="{Binding AlarmCount, StringFormat='{}{0}'}" Foreground="{DynamicResource DangerBrush}"/>
|
|
|
</TextBlock>
|
|
</TextBlock>
|
|
|
<TextBlock Grid.Column="4" VerticalAlignment="Center" Margin="24,0"
|
|
<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"/>
|
|
|
|
|
|
|
+ FontFamily="Consolas, monospace" FontSize="11" Foreground="{DynamicResource TextDisabledBrush}">
|
|
|
|
|
+ <Run Text="UPTIME: "/><Run Text="{Binding RunningTime}" Foreground="{DynamicResource TextSecondaryBrush}"/>
|
|
|
</TextBlock>
|
|
</TextBlock>
|
|
|
<TextBlock Grid.Column="5" VerticalAlignment="Center"
|
|
<TextBlock Grid.Column="5" VerticalAlignment="Center"
|
|
|
- FontFamily="Consolas, monospace" FontSize="11" Foreground="#4B5563" Text="v3.0.0"/>
|
|
|
|
|
|
|
+ FontFamily="Consolas, monospace" FontSize="11" Foreground="{DynamicResource TextDisabledBrush}" Text="v3.0.0"/>
|
|
|
</Grid>
|
|
</Grid>
|
|
|
</Border>
|
|
</Border>
|
|
|
</Grid>
|
|
</Grid>
|