Просмотр исходного кода

修复布局遮挡 - 移除固定尺寸,改用自适应布局

磊 曹 1 неделя назад
Родитель
Сommit
cdcb2a55f6

+ 45 - 48
src/YZWater.Avalonia/Views/MainWindow.axaml

@@ -2,7 +2,6 @@
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:vm="using:YZWater.Core.ViewModels"
         xmlns:views="using:YZWater.Avalonia.Views"
-        xmlns:controls="using:YZWater.Avalonia.Controls"
         x:Class="YZWater.Avalonia.Views.MainWindow"
         x:DataType="vm:MainViewModel"
         Title="YZ WATER - 污水处理监控系统"
@@ -15,52 +14,50 @@
         <vm:MainViewModel/>
     </Window.DataContext>
 
-    <controls:AdaptiveContainer DesignWidth="1280" DesignHeight="800"
-                                 Stretch="Uniform" MinScale="0.7" MaxScale="1.5">
-        <DockPanel>
-            <!-- ═══ 底部导航栏 ═══ -->
-            <Border DockPanel.Dock="Bottom" Background="#111820" BorderBrush="#1C2333" BorderThickness="0,1,0,0" Padding="4,0">
-                <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Spacing="0">
-                    <Button Content="PROCESS" Command="{Binding ShowViewACommand}"
-                            FontFamily="Consolas, monospace" FontSize="11" Padding="20,8"
-                            Background="Transparent" Foreground="#00897B" BorderThickness="0"/>
-                    <Border Background="#1C2333" Width="1" Height="20" VerticalAlignment="Center"/>
-                    <Button Content="PARAMS" Command="{Binding ShowViewBCommand}"
-                            FontFamily="Consolas, monospace" FontSize="11" Padding="20,8"
-                            Background="Transparent" Foreground="#9CA3AF" BorderThickness="0"/>
-                    <Border Background="#1C2333" Width="1" Height="20" VerticalAlignment="Center"/>
-                    <Button Content="FLOW" Command="{Binding ShowViewCCommand}"
-                            FontFamily="Consolas, monospace" FontSize="11" Padding="20,8"
-                            Background="Transparent" Foreground="#9CA3AF" BorderThickness="0"/>
-                    <Border Background="#1C2333" Width="1" Height="20" VerticalAlignment="Center"/>
-                    <Button Content="ALARM" Command="{Binding ShowViewDCommand}"
-                            FontFamily="Consolas, monospace" FontSize="11" Padding="20,8"
-                            Background="Transparent" Foreground="#9CA3AF" BorderThickness="0"/>
-                    <Border Background="#1C2333" Width="1" Height="20" VerticalAlignment="Center"/>
-                    <Button Content="ABOUT" Command="{Binding ShowViewECommand}"
-                            FontFamily="Consolas, monospace" FontSize="11" Padding="20,8"
-                            Background="Transparent" Foreground="#9CA3AF" BorderThickness="0"/>
-                </StackPanel>
-            </Border>
+    <!-- 直接使用 DockPanel 填满窗口,不使用 AdaptiveContainer -->
+    <DockPanel>
+        <!-- 底部导航栏 -->
+        <Border DockPanel.Dock="Bottom" Background="#111820" BorderBrush="#1C2333" BorderThickness="0,1,0,0" Padding="4,0">
+            <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Spacing="0">
+                <Button Content="PROCESS" Command="{Binding ShowViewACommand}"
+                        FontFamily="Consolas, monospace" FontSize="11" Padding="20,8"
+                        Background="Transparent" Foreground="#00897B" BorderThickness="0"/>
+                <Border Background="#1C2333" Width="1" Height="20" VerticalAlignment="Center"/>
+                <Button Content="PARAMS" Command="{Binding ShowViewBCommand}"
+                        FontFamily="Consolas, monospace" FontSize="11" Padding="20,8"
+                        Background="Transparent" Foreground="#9CA3AF" BorderThickness="0"/>
+                <Border Background="#1C2333" Width="1" Height="20" VerticalAlignment="Center"/>
+                <Button Content="FLOW" Command="{Binding ShowViewCCommand}"
+                        FontFamily="Consolas, monospace" FontSize="11" Padding="20,8"
+                        Background="Transparent" Foreground="#9CA3AF" BorderThickness="0"/>
+                <Border Background="#1C2333" Width="1" Height="20" VerticalAlignment="Center"/>
+                <Button Content="ALARM" Command="{Binding ShowViewDCommand}"
+                        FontFamily="Consolas, monospace" FontSize="11" Padding="20,8"
+                        Background="Transparent" Foreground="#9CA3AF" BorderThickness="0"/>
+                <Border Background="#1C2333" Width="1" Height="20" VerticalAlignment="Center"/>
+                <Button Content="ABOUT" Command="{Binding ShowViewECommand}"
+                        FontFamily="Consolas, monospace" FontSize="11" Padding="20,8"
+                        Background="Transparent" Foreground="#9CA3AF" BorderThickness="0"/>
+            </StackPanel>
+        </Border>
 
-            <!-- ═══ 主内容区域 ═══ -->
-            <TabControl SelectedIndex="{Binding SelectedTabIndex}" Background="#0A0E14">
-                <TabItem Header="PROCESS" IsVisible="False">
-                    <views:ViewAView/>
-                </TabItem>
-                <TabItem Header="PARAMS" IsVisible="False">
-                    <views:ViewBView/>
-                </TabItem>
-                <TabItem Header="FLOW" IsVisible="False">
-                    <views:ViewCView/>
-                </TabItem>
-                <TabItem Header="ALARM" IsVisible="False">
-                    <views:ViewDView/>
-                </TabItem>
-                <TabItem Header="ABOUT" IsVisible="False">
-                    <views:ViewEView/>
-                </TabItem>
-            </TabControl>
-        </DockPanel>
-    </controls:AdaptiveContainer>
+        <!-- 主内容区域 -->
+        <TabControl SelectedIndex="{Binding SelectedTabIndex}" Background="#0A0E14">
+            <TabItem Header="PROCESS" IsVisible="False">
+                <views:ViewAView/>
+            </TabItem>
+            <TabItem Header="PARAMS" IsVisible="False">
+                <views:ViewBView/>
+            </TabItem>
+            <TabItem Header="FLOW" IsVisible="False">
+                <views:ViewCView/>
+            </TabItem>
+            <TabItem Header="ALARM" IsVisible="False">
+                <views:ViewDView/>
+            </TabItem>
+            <TabItem Header="ABOUT" IsVisible="False">
+                <views:ViewEView/>
+            </TabItem>
+        </TabControl>
+    </DockPanel>
 </Window>

+ 215 - 275
src/YZWater.Avalonia/Views/ViewAView.axaml

@@ -9,14 +9,13 @@
         <vm:ViewAViewModel/>
     </UserControl.DataContext>
 
-    <!-- 工业深色背景 -->
-    <Border Background="#0A0E14" Width="1280" Height="800">
-        <Grid RowDefinitions="48,*,32" Margin="0">
+    <!-- 不设固定宽高,由 AdaptiveContainer 控制缩放 -->
+    <Border Background="#0A0E14">
+        <Grid RowDefinitions="48,*,32">
 
             <!-- ═══ 顶部标题栏 ═══ -->
             <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"
@@ -26,16 +25,12 @@
                                    Foreground="#6B7280" VerticalAlignment="Center"/>
                     </StackPanel>
 
-                    <!-- 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"
+                        <TextBlock Text="PLC 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"
@@ -48,7 +43,6 @@
                                 Background="#1C2333" Foreground="#3B82F6" BorderBrush="#3B82F6"/>
                     </StackPanel>
 
-                    <!-- 时钟 -->
                     <StackPanel Grid.Column="4" VerticalAlignment="Center" HorizontalAlignment="Right">
                         <TextBlock Text="{Binding CurrentTime, StringFormat='{}{0:HH:mm:ss}'}"
                                    FontFamily="Consolas, monospace" FontSize="18" FontWeight="Bold"
@@ -68,287 +62,264 @@
                         BorderBrush="#1C2333" BorderThickness="1">
                     <Grid RowDefinitions="Auto,*,Auto" Margin="12,8">
 
-                        <!-- 流程图标题 -->
                         <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>
 
-                        <!-- 工艺流程 Canvas -->
+                        <!-- 工艺流程区域 - 使用 Grid 替代 Canvas 实现自适应 -->
                         <Border Grid.Row="1" Background="#0D1117" CornerRadius="2" Padding="8">
-                            <Canvas Width="900" Height="480">
+                            <Grid RowDefinitions="Auto,Auto,Auto,Auto" ColumnDefinitions="*,*,*,*,Auto">
 
-                                <!-- ─── 水箱组 ─── -->
-                                <!-- 入口池 -->
-                                <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="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="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>
-
-                                <!-- 出口池 -->
-                                <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 Grid.Row="0" Grid.ColumnSpan="4" Orientation="Horizontal"
+                                            Spacing="20" HorizontalAlignment="Center" Margin="0,0,0,8">
                                     <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"/>
+                                        <controls:WaterTankControl Width="110" Height="130"
+                                                                   WaterLevel="{Binding Tank1Level}" Text="入口池"
+                                                                   WaterColor="#00897B" BorderColor="#1C2333"/>
+                                        <Border Background="#1C2333" Padding="6,2" Margin="0,2,0,0">
+                                            <TextBlock Text="{Binding Tank1Level, StringFormat='LV: {0:F1}%'}"
+                                                       FontFamily="Consolas, monospace" FontSize="11"
+                                                       Foreground="#00897B" HorizontalAlignment="Center"/>
+                                        </Border>
                                     </StackPanel>
+                                    <TextBlock Text="→" FontSize="24" Foreground="#00897B" VerticalAlignment="Center"/>
                                     <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"/>
+                                        <controls:WaterTankControl Width="110" Height="130"
+                                                                   WaterLevel="{Binding Tank2Level}" Text="生化池"
+                                                                   WaterColor="#0288D1" BorderColor="#1C2333"/>
+                                        <Border Background="#1C2333" Padding="6,2" Margin="0,2,0,0">
+                                            <TextBlock Text="{Binding Tank2Level, StringFormat='LV: {0:F1}%'}"
+                                                       FontFamily="Consolas, monospace" FontSize="11"
+                                                       Foreground="#0288D1" HorizontalAlignment="Center"/>
+                                        </Border>
                                     </StackPanel>
+                                    <TextBlock Text="→" FontSize="24" Foreground="#00897B" VerticalAlignment="Center"/>
                                     <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"/>
+                                        <controls:WaterTankControl Width="110" Height="130"
+                                                                   WaterLevel="{Binding Tank3Level}" Text="沉淀池"
+                                                                   WaterColor="#7B1FA2" BorderColor="#1C2333"/>
+                                        <Border Background="#1C2333" Padding="6,2" Margin="0,2,0,0">
+                                            <TextBlock Text="{Binding Tank3Level, StringFormat='LV: {0:F1}%'}"
+                                                       FontFamily="Consolas, monospace" FontSize="11"
+                                                       Foreground="#7B1FA2" HorizontalAlignment="Center"/>
+                                        </Border>
                                     </StackPanel>
+                                    <TextBlock Text="→" FontSize="24" Foreground="#00897B" VerticalAlignment="Center"/>
                                     <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"/>
+                                        <controls:WaterTankControl Width="110" Height="130"
+                                                                   WaterLevel="{Binding Tank4Level}" Text="出口池"
+                                                                   WaterColor="#2E7D32" BorderColor="#1C2333"/>
+                                        <Border Background="#1C2333" Padding="6,2" Margin="0,2,0,0">
+                                            <TextBlock Text="{Binding Tank4Level, StringFormat='LV: {0:F1}%'}"
+                                                       FontFamily="Consolas, monospace" FontSize="11"
+                                                       Foreground="#2E7D32" HorizontalAlignment="Center"/>
+                                        </Border>
                                     </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 Grid.Row="1" Grid.ColumnSpan="4" Margin="0,0,0,4">
+                                    <controls:PipeLineControl Height="18"
+                                                              IsFlow="{Binding IsInflowRunning}" IsHorizontal="True"
+                                                              PipeColor="#1C2333" WaterColor="#00897B"/>
                                 </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 Grid.Row="2" Grid.ColumnSpan="4" Orientation="Horizontal"
+                                            Spacing="40" HorizontalAlignment="Center" Margin="0,0,0,8">
+                                    <controls:ValveControl Width="36" Height="44"
+                                                           Status="{Binding Valve1Status}" Text="V1"
+                                                           ValveColor="#F59E0B" BackgroundColor="#1C2333"/>
+                                    <controls:ValveControl Width="36" Height="44"
+                                                           Status="{Binding Valve2Status}" Text="V2"
+                                                           ValveColor="#F59E0B" BackgroundColor="#1C2333"/>
+                                    <controls:ValveControl Width="36" Height="44"
+                                                           Status="{Binding Valve3Status}" Text="V3"
+                                                           ValveColor="#F59E0B" BackgroundColor="#1C2333"/>
+                                    <controls:ValveControl Width="36" Height="44"
+                                                           Status="{Binding Valve4Status}" Text="V4"
+                                                           ValveColor="#F59E0B" BackgroundColor="#1C2333"/>
+                                </StackPanel>
 
-                                        <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>
+                                <!-- 第四行:泵+风机 -->
+                                <Grid Grid.Row="3" Grid.ColumnSpan="4" ColumnDefinitions="*,Auto">
+                                    <!-- 泵组 -->
+                                    <StackPanel Grid.Column="0" Orientation="Horizontal" Spacing="16">
+                                        <StackPanel>
+                                            <controls:PumpControl Width="60" Height="68"
+                                                                  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>
-
-                                        <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>
+                                            <controls:PumpControl Width="60" Height="68"
+                                                                  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>
-
-                                        <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>
+                                            <controls:PumpControl Width="60" Height="68"
+                                                                  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="60" Height="68"
+                                                                  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="60" Height="68"
+                                                                  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>
-                                </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>
+                                    <!-- 风机组 -->
+                                    <StackPanel Grid.Column="1" Orientation="Horizontal" Spacing="20" Margin="20,0,0,0">
+                                        <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>
+                                </Grid>
+
+                                <!-- 右侧:数据面板 -->
+                                <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"
+                                            CornerRadius="2" Padding="8" Margin="0,0,0,6">
+                                        <StackPanel HorizontalAlignment="Center" Spacing="4">
+                                            <TextBlock Text="MODE" FontFamily="Consolas, monospace"
+                                                       FontSize="10" Foreground="#6B7280"/>
+                                            <controls:ValveControl Width="36" Height="36"
+                                                                   Status="{Binding ModeStatus}" Text="AUTO"
+                                                                   ValveColor="#00897B" BackgroundColor="#1C2333"/>
+                                        </StackPanel>
+                                    </Border>
 
-                                        <Border Background="#1C2333" Height="1"/>
+                                    <!-- 实时数据 -->
+                                    <Border Grid.Row="1" Background="#111820" BorderBrush="#1C2333" BorderThickness="1"
+                                            CornerRadius="2" Padding="8" Margin="0,0,0,6">
+                                        <StackPanel Spacing="6">
+                                            <TextBlock Text="REALTIME" FontFamily="Consolas, monospace"
+                                                       FontSize="10" Foreground="#6B7280"/>
+                                            <StackPanel Spacing="1">
+                                                <TextBlock Text="INFLOW" FontFamily="Consolas, monospace" FontSize="9" Foreground="#4B5563"/>
+                                                <TextBlock FontFamily="Consolas, monospace" FontSize="15" FontWeight="Bold" Foreground="#00897B">
+                                                    <Run Text="{Binding InflowRate, StringFormat='{}{0:F1}'}"/>
+                                                    <Run Text=" m³/h" FontSize="9" Foreground="#6B7280"/>
+                                                </TextBlock>
+                                            </StackPanel>
+                                            <Border Background="#1C2333" Height="1"/>
+                                            <StackPanel Spacing="1">
+                                                <TextBlock Text="OUTFLOW" FontFamily="Consolas, monospace" FontSize="9" Foreground="#4B5563"/>
+                                                <TextBlock FontFamily="Consolas, monospace" FontSize="15" FontWeight="Bold" Foreground="#2E7D32">
+                                                    <Run Text="{Binding OutflowRate, StringFormat='{}{0:F1}'}"/>
+                                                    <Run Text=" m³/h" FontSize="9" Foreground="#6B7280"/>
+                                                </TextBlock>
+                                            </StackPanel>
+                                            <Border Background="#1C2333" Height="1"/>
+                                            <StackPanel Spacing="1">
+                                                <TextBlock Text="DELTA" FontFamily="Consolas, monospace" FontSize="9" Foreground="#4B5563"/>
+                                                <TextBlock FontFamily="Consolas, monospace" FontSize="13" Foreground="#F59E0B">
+                                                    <Run Text="{Binding FlowDelta, StringFormat='{}{0:F1}'}"/>
+                                                    <Run Text=" m³/h" FontSize="9" Foreground="#6B7280"/>
+                                                </TextBlock>
+                                            </StackPanel>
+                                        </StackPanel>
+                                    </Border>
 
-                                        <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 Grid.Row="2" Background="#111820" BorderBrush="#1C2333" BorderThickness="1"
+                                            CornerRadius="2" Padding="8">
+                                        <StackPanel Spacing="5">
+                                            <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="ALARM" 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="16" FontWeight="Bold" Foreground="#00897B">
+                                                <Run Text="{Binding Efficiency, StringFormat='{}{0:F0}'}"/>
+                                                <Run Text="%" FontSize="11" Foreground="#6B7280"/>
+                                            </TextBlock>
+                                        </StackPanel>
+                                    </Border>
+                                </Grid>
+                            </Grid>
                         </Border>
 
                         <!-- 底部设备状态条 -->
                         <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="12">
                                 <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"/>
                                 </StackPanel>
                                 <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"/>
                                 </StackPanel>
                                 <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"/>
                                 </StackPanel>
                                 <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"/>
                                 </StackPanel>
                                 <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"/>
                                 </StackPanel>
-
                                 <Border Background="#1C2333" Width="1" Height="16"/>
-
                                 <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"/>
                                 </StackPanel>
                                 <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"/>
                                 </StackPanel>
-
                                 <Border Background="#1C2333" Width="1" Height="16"/>
-
                                 <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"/>
                                 </StackPanel>
                                 <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"/>
                                 </StackPanel>
                                 <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"/>
                                 </StackPanel>
                                 <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"/>
                                 </StackPanel>
                             </StackPanel>
@@ -359,14 +330,12 @@
                 <!-- 右侧面板 -->
                 <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">
                         <StackPanel>
                             <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"/>
+                                <TextBlock Text="FLOW METERS" FontFamily="Consolas, monospace" FontSize="11" Foreground="#9CA3AF"/>
                             </StackPanel>
                             <Grid ColumnDefinitions="*,*">
                                 <controls:GaugeControl Grid.Column="0" Width="110" Height="130"
@@ -379,58 +348,44 @@
                         </StackPanel>
                     </Border>
 
-                    <!-- 设备状态 -->
                     <Border Grid.Row="1" Background="#111820" CornerRadius="2" Padding="10,8" Margin="0,0,0,4"
                             BorderBrush="#1C2333" BorderThickness="1">
                         <StackPanel>
                             <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"/>
+                                <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}"/>
-                                <controls:StatusCard Title="进水泵2" Status="{Binding Pump2Status}" Icon="P2"
-                                                     IsActive="{Binding Pump2Running}"/>
-                                <controls:StatusCard Title="回流泵" Status="{Binding Pump3Status}" Icon="P3"
-                                                     IsActive="{Binding Pump3Running}"/>
-                                <controls:StatusCard Title="风机1" Status="{Binding Fan1Status}" Icon="F1"
-                                                     IsActive="{Binding Fan1Running}"/>
-                                <controls:StatusCard Title="风机2" Status="{Binding Fan2Status}" Icon="F2"
-                                                     IsActive="{Binding Fan2Running}"/>
+                                <controls:StatusCard Title="进水泵1" Status="{Binding Pump1Status}" Icon="P1" IsActive="{Binding Pump1Running}"/>
+                                <controls:StatusCard Title="进水泵2" Status="{Binding Pump2Status}" Icon="P2" IsActive="{Binding Pump2Running}"/>
+                                <controls:StatusCard Title="回流泵" Status="{Binding Pump3Status}" Icon="P3" IsActive="{Binding Pump3Running}"/>
+                                <controls:StatusCard Title="风机1" Status="{Binding Fan1Status}" Icon="F1" IsActive="{Binding Fan1Running}"/>
+                                <controls:StatusCard Title="风机2" Status="{Binding Fan2Status}" Icon="F2" IsActive="{Binding Fan2Running}"/>
                             </StackPanel>
                         </StackPanel>
                     </Border>
 
-                    <!-- 报警面板 -->
                     <Border Grid.Row="2" Background="#111820" CornerRadius="2" Padding="10,8" Margin="0,0,0,4"
-                            BorderBrush="#1C2333" BorderThickness="1"
-                            IsVisible="{Binding HasAlarm}">
+                            BorderBrush="#1C2333" BorderThickness="1" IsVisible="{Binding HasAlarm}">
                         <StackPanel>
                             <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"/>
+                                <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"/>
+                                           FontFamily="Consolas, monospace" FontSize="11" TextWrapping="Wrap"/>
                             </Border>
                         </StackPanel>
                     </Border>
 
-                    <!-- 快捷操作 -->
                     <Border Grid.Row="3" Background="#111820" CornerRadius="2" Padding="10,8"
                             BorderBrush="#1C2333" BorderThickness="1">
                         <StackPanel>
                             <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"/>
+                                <TextBlock Text="QUICK OPS" FontFamily="Consolas, monospace" FontSize="11" Foreground="#9CA3AF"/>
                             </StackPanel>
                             <WrapPanel HorizontalAlignment="Center">
                                 <Button Content="START ALL" Margin="3" Padding="10,5"
@@ -456,41 +411,26 @@
                 <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"/>
+                        <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"/>
+                        <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"/>
+                        <Run Text="DEVICES: "/><Run Text="{Binding RunningDeviceCount, StringFormat='{}{0}'}" Foreground="#00897B"/><Run Text=" ACTIVE"/>
                     </TextBlock>
-
                     <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"/>
+                        <Run Text="ALARM: "/><Run Text="{Binding AlarmCount, StringFormat='{}{0}'}" Foreground="#EF4444"/>
                     </TextBlock>
-
                     <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"/>
+                        <Run Text="UPTIME: "/><Run Text="{Binding RunningTime}" Foreground="#9CA3AF"/>
                     </TextBlock>
-
                     <TextBlock Grid.Column="5" VerticalAlignment="Center"
-                               FontFamily="Consolas, monospace" FontSize="11" Foreground="#4B5563">
-                        <Run Text="v3.0.0"/>
-                    </TextBlock>
+                               FontFamily="Consolas, monospace" FontSize="11" Foreground="#4B5563" Text="v3.0.0"/>
                 </Grid>
             </Border>
         </Grid>

+ 1 - 1
src/YZWater.Avalonia/Views/ViewBView.axaml

@@ -8,7 +8,7 @@
         <vm:ViewBViewModel/>
     </UserControl.DataContext>
 
-    <Border Background="#1a1a2e" Width="1024" Height="613">
+    <Border Background="#0A0E14">
         <ScrollViewer>
             <Grid RowDefinitions="Auto,Auto,Auto" Margin="20">
                 <!-- PLC 连接设置 -->

+ 1 - 1
src/YZWater.Avalonia/Views/ViewCView.axaml

@@ -9,7 +9,7 @@
         <vm:ViewCViewModel/>
     </UserControl.DataContext>
 
-    <Border Background="#1a1a2e" Width="1024" Height="613">
+    <Border Background="#0A0E14">
         <Grid RowDefinitions="Auto,*,Auto" Margin="20">
             <!-- 日期筛选 -->
             <Border Grid.Row="0" Background="#2d2d44" CornerRadius="8" Padding="15" Margin="0,0,0,15">

+ 1 - 1
src/YZWater.Avalonia/Views/ViewDView.axaml

@@ -8,7 +8,7 @@
         <vm:ViewDViewModel/>
     </UserControl.DataContext>
 
-    <Border Background="#1a1a2e" Width="1024" Height="613">
+    <Border Background="#0A0E14">
         <Grid RowDefinitions="Auto,*,Auto" Margin="20">
             <!-- 查询条件 -->
             <Border Grid.Row="0" Background="#2d2d44" CornerRadius="8" Padding="15" Margin="0,0,0,15">

+ 1 - 1
src/YZWater.Avalonia/Views/ViewEView.axaml

@@ -8,7 +8,7 @@
         <vm:ViewEViewModel/>
     </UserControl.DataContext>
 
-    <Border Background="#1a1a2e" Width="1024" Height="613">
+    <Border Background="#0A0E14">
         <ScrollViewer>
             <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" Spacing="30" Margin="50">
                 <!-- Logo 和系统名称 -->