Files
Sleep-Multi-functionality/Window5.xaml

383 lines
19 KiB
Plaintext
Raw Normal View History

2026-05-04 14:46:58 +08:00
<Window x:Class="ShanghaiEnvironmentalTechnology.Window5"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="CO₂重吸呼吸测试界面" Height="768" Width="1024"
Loaded="Window_Loaded"
Background="#F5F7FA" WindowStartupLocation="CenterScreen">
<Window.Resources>
<Style x:Key="MyButtonStyle" TargetType="Button">
<Setter Property="Background" Value="#4A90E2"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="Margin" Value="5"/>
<Setter Property="Padding" Value="8,4"/>
<Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="Height" Value="30"/>
<Setter Property="Width" Value="100"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border Background="{TemplateBinding Background}" CornerRadius="15">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#3A7BBE"/>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" Value="#2A5E9A"/>
</Trigger>
</Style.Triggers>
</Style>
<Style x:Key="MyTextBoxStyle" TargetType="TextBox">
<Setter Property="Background" Value="#FFFFFF"/>
<Setter Property="Foreground" Value="Black"/>
<Setter Property="BorderBrush" Value="#4A90E2"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Padding" Value="5,5"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="Height" Value="30"/>
<Setter Property="Width" Value="80"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TextBox">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="15">
<ScrollViewer x:Name="PART_ContentHost"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="SectionTitleStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="16"/>
<Setter Property="FontWeight" Value="Medium"/>
<Setter Property="Foreground" Value="#333333"/>
<Setter Property="Margin" Value="0,0,0,10"/>
<Setter Property="Padding" Value="5"/>
<Setter Property="Background" Value="#E8F4FF"/>
<!-- 浅蓝背景强化分区 -->
</Style>
<Style x:Key="ParamLabelStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="14"/>
<Setter Property="Foreground" Value="#666666"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Width" Value="100"/>
<!-- 固定宽度,对齐更整齐 -->
<Setter Property="Margin" Value="5,0"/>
</Style>
<Style x:Key="MonitorLabelStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="14"/>
<Setter Property="FontWeight" Value="Medium"/>
<Setter Property="Foreground" Value="#333333"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Margin" Value="10,0"/>
</Style>
<!-- 监测数据文本框(区分只读状态) -->
<Style x:Key="MonitorTextBoxStyle" TargetType="TextBox" BasedOn="{StaticResource MyTextBoxStyle}">
<Setter Property="IsReadOnly" Value="True"/>
<Setter Property="Background" Value="#F0F7FF"/>
<!-- 浅蓝背景区分只读数据 -->
<Setter Property="Width" Value="100"/>
<!-- 监测数据框稍宽,更易读 -->
<Setter Property="BorderBrush" Value="#99C2FF"/>
</Style>
</Window.Resources>
<!-- 主布局DockPanel分区避免元素重叠 -->
<DockPanel Margin="15">
<!-- 1. 顶部标题区(突出显示) -->
<Border DockPanel.Dock="Top" Height="60" Background="#4A90E2" CornerRadius="8" Margin="0,0,0,15">
<TextBlock Text="CO₂重吸呼吸测试界面"
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontSize="24"
Foreground="White"
FontWeight="Medium"/>
</Border>
<!-- 2. 底部操作与导航区(聚合功能按钮) -->
<Border DockPanel.Dock="Bottom" Height="120" Background="White"
BorderBrush="#E0E0E0" BorderThickness="1"
CornerRadius="8" Margin="0,15,0,0">
<StackPanel>
<!-- 测试核心操作按钮(按重要性区分颜色) -->
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Margin="0,10,0,5">
<Button Name="ResetBtn" Content="复位" Style="{StaticResource MyButtonStyle}"
Background="#F5A623" Click="Button_Click_10"/>
<!-- 橙色:警示性操作 -->
<Button Name="TestStartButton" Content="测试启动" Style="{StaticResource MyButtonStyle}"
Background="#52C41A" Click="Button_Click_11"/>
<!-- 绿色:正向操作 -->
<Button Content="测试停止" Style="{StaticResource MyButtonStyle}"
Background="#FF4D4F" Click="Button_Click_12"/>
<Button Name="addPaBtn" Content="加压" Style="{StaticResource MyButtonStyle}" Click="Button_Click_16"/>
<!-- 红色:停止操作 -->
<Button Content="开始记录" Style="{StaticResource MyButtonStyle}" Click="Button_Click_13"/>
<Button Content="结束记录" Style="{StaticResource MyButtonStyle}" Click="Button_Click_14"/>
</StackPanel>
<!-- 导航按钮(统一放置底部) -->
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Margin="0,5">
<Button Content="主页" Style="{StaticResource MyButtonStyle}" Click="Button_Click_4"/>
<Button Content="曲线" Style="{StaticResource MyButtonStyle}" Click="Button_Click_6"/>
<Button Content="手动界面" Style="{StaticResource MyButtonStyle}" Click="Button_Click_7"/>
<Button Content="记录画面" Style="{StaticResource MyButtonStyle}" Click="Button_Click_8"/>
<Button Content="过程记录" Style="{StaticResource MyButtonStyle}" Click="Button_Click_9"/>
</StackPanel>
</StackPanel>
</Border>
<!-- 3. 中间内容区:左右分栏(设置+监测) -->
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<!-- 左侧:参数设置区 -->
<ColumnDefinition Width="1*"/>
<!-- 右侧:实时监测区 -->
</Grid.ColumnDefinitions>
<!-- 左侧:参数设置区(聚合可配置项) -->
<Border Grid.Column="0" Background="White"
BorderBrush="#E0E0E0" BorderThickness="1"
CornerRadius="8" Margin="0,0,10,0" Padding="15">
<StackPanel>
<!-- 3.1.1 呼吸参数设置(核心配置项) -->
<TextBlock Text="呼吸参数设置" Style="{StaticResource SectionTitleStyle}"/>
<StackPanel Margin="0,0,0,20" HorizontalAlignment="Center">
<Grid Width="440">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="110"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="80"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="60"/>
<RowDefinition Height="60"/>
<RowDefinition Height="60"/>
<RowDefinition Height="60"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0"
Text="呼吸比"
Style="{StaticResource ParamLabelStyle}"
TextAlignment="Right"
VerticalAlignment="Center"/>
<StackPanel Grid.Row="0" Grid.Column="1" Orientation="Horizontal" VerticalAlignment="Center">
<TextBox Name="OutTxt"
Style="{StaticResource MyTextBoxStyle}"
Width="45"
PreviewTextInput="NumberPreviewTextInput"
IsReadOnly="True"/>
<Button Content="设置"
Style="{StaticResource MyButtonStyle}"
Width="50"
Margin="5,0"
Click="Button_Click_17"/>
<TextBlock Text=": " VerticalAlignment="Center" Margin="5,0"/>
<TextBox Name="InTxt"
Style="{StaticResource MyTextBoxStyle}"
Width="45"
PreviewTextInput="NumberPreviewTextInput"
IsReadOnly="True"/>
<Button Content="设置"
Style="{StaticResource MyButtonStyle}"
Width="50"
Margin="10,0"
Click="Button_Click_18"/>
</StackPanel>
<!-- 2. 潮气量设置 -->
<TextBlock Grid.Row="1" Grid.Column="0"
Text="潮气量"
Style="{StaticResource ParamLabelStyle}"
TextAlignment="Right"
VerticalAlignment="Center"/>
<StackPanel Grid.Row="1" Grid.Column="1" Orientation="Horizontal" VerticalAlignment="Center">
<TextBox Name="moistureTxt"
Style="{StaticResource MyTextBoxStyle}"
Width="80"
PreviewTextInput="NumberPreviewTextInput"
IsReadOnly="True"/>
<TextBlock Text=" L" VerticalAlignment="Center" Margin="5,0"/>
</StackPanel>
<Button Grid.Row="1" Grid.Column="2"
Content="设置"
Style="{StaticResource MyButtonStyle}"
Width="80"
Margin="0"
Click="Button_Click_19"
VerticalAlignment="Center"/>
<!-- 3. 呼吸频率设置 -->
<TextBlock Grid.Row="2" Grid.Column="0"
Text="呼吸频率"
Style="{StaticResource ParamLabelStyle}"
TextAlignment="Right"
VerticalAlignment="Center"/>
<StackPanel Grid.Row="2" Grid.Column="1" Orientation="Horizontal" VerticalAlignment="Center">
<TextBox Name="respiratoryRateTxt"
Style="{StaticResource MyTextBoxStyle}"
Width="80"
PreviewTextInput="NumberPreviewTextInput"
IsReadOnly="True"/>
<TextBlock Text=" 次/min" VerticalAlignment="Center" Margin="5,0"/>
</StackPanel>
<Button Grid.Row="2" Grid.Column="2"
Content="设置"
Style="{StaticResource MyButtonStyle}"
Width="80"
Margin="0"
Click="Button_Click_20"
VerticalAlignment="Center"/>
<!-- 4. 频率系数设置 -->
<TextBlock Grid.Row="3" Grid.Column="0"
Text="频率系数"
Style="{StaticResource ParamLabelStyle}"
TextAlignment="Right"
VerticalAlignment="Center"/>
<StackPanel Grid.Row="3" Grid.Column="1" Orientation="Horizontal" VerticalAlignment="Center">
<TextBox Name="frequencyTxt"
Style="{StaticResource MyTextBoxStyle}"
Width="80"
PreviewTextInput="NumberPreviewTextInput"
IsReadOnly="True"/>
</StackPanel>
<Button Grid.Row="3" Grid.Column="2"
Content="设置"
Style="{StaticResource MyButtonStyle}"
Width="80"
Margin="0"
Click="Button_Click_21"
VerticalAlignment="Center"/>
</Grid>
</StackPanel>
<!-- 3.1.2 测试辅助参数(状态类参数) -->
<TextBlock Text="测试辅助参数" Style="{StaticResource SectionTitleStyle}"/>
<StackPanel Margin="0,0,0,10">
<!-- 呼吸次数 -->
<StackPanel Orientation="Horizontal" Height="40" VerticalAlignment="Center">
<TextBlock Text="呼吸次数" Style="{StaticResource ParamLabelStyle}"/>
<TextBox Name="respiratoryCountTxt" Style="{StaticResource MonitorTextBoxStyle}"/>
<TextBlock Text=" 次" VerticalAlignment="Center" Margin="5"/>
</StackPanel>
<!-- 呼吸时间计时 -->
<StackPanel Orientation="Horizontal" Height="40" VerticalAlignment="Center">
<TextBlock Text="呼吸计时" Style="{StaticResource ParamLabelStyle}"/>
<TextBox Name="breathTimeBegin" Style="{StaticResource MonitorTextBoxStyle}"/>
<TextBlock Text=" 分" VerticalAlignment="Center" Margin="5"/>
<TextBox Name="breathTimeEnd" Style="{StaticResource MonitorTextBoxStyle}"/>
<TextBlock Text=" 秒" VerticalAlignment="Center" Margin="5"/>
</StackPanel>
</StackPanel>
</StackPanel>
</Border>
<!-- 右侧:实时监测区(聚合监测数据) -->
<Border Grid.Column="1" Background="White"
BorderBrush="#E0E0E0" BorderThickness="1"
CornerRadius="8" Margin="10,0,0,0" Padding="15">
<StackPanel>
<!-- 3.2.1 实时监测数据(核心监测项) -->
<TextBlock Text="实时监测数据" Style="{StaticResource SectionTitleStyle}"/>
<StackPanel Margin="0,0,0,20">
<!-- 呼吸类型显示控件 -->
<TextBlock Name="breathType" Text="准备中" Style="{StaticResource SectionTitleStyle}"
FontSize="16" Foreground="Gray"/>
<!-- 呼吸管路压力 -->
<StackPanel Orientation="Horizontal" Height="45" VerticalAlignment="Center">
<TextBlock Text="呼吸管路压力" Style="{StaticResource MonitorLabelStyle}"/>
<TextBox Name="RespiratoryPressureTxt" Style="{StaticResource MonitorTextBoxStyle}"/>
<TextBlock Text=" Pa" VerticalAlignment="Center"/>
</StackPanel>
<!-- CO₂浓度 -->
<StackPanel Orientation="Horizontal" Height="45" VerticalAlignment="Center">
<TextBlock Text="CO₂浓度 " Style="{StaticResource MonitorLabelStyle}"/>
<TextBox Name="CO2PressureTxt" Style="{StaticResource MonitorTextBoxStyle}"/>
<TextBlock Text=" %" VerticalAlignment="Center"/>
</StackPanel>
</StackPanel>
<!-- 3.2.2 CO₂测试结果专项结果 -->
<TextBlock Text="CO₂测试结果" Style="{StaticResource SectionTitleStyle}"/>
<StackPanel>
<!-- 开始CO₂浓度 -->
<StackPanel Orientation="Horizontal" Height="45" VerticalAlignment="Center">
<TextBlock Text="开始CO₂浓度 " Style="{StaticResource MonitorLabelStyle}"/>
<TextBox Name="CO2BeginTb" Style="{StaticResource MonitorTextBoxStyle}"/>
<TextBlock Text=" %" VerticalAlignment="Center"/>
</StackPanel>
<!-- 结束CO₂浓度 -->
<StackPanel Orientation="Horizontal" Height="45" VerticalAlignment="Center">
<TextBlock Text="结束CO₂浓度 " Style="{StaticResource MonitorLabelStyle}"/>
<TextBox Name="CO2EndTb" Style="{StaticResource MonitorTextBoxStyle}"/>
<TextBlock Text=" %" VerticalAlignment="Center"/>
</StackPanel>
<!-- CO₂浓度增加值 -->
<StackPanel Orientation="Horizontal" Height="45" VerticalAlignment="Center">
<TextBlock Text="CO₂浓度增加值" Style="{StaticResource MonitorLabelStyle}"/>
<TextBox Name="CO2AddTxt" Style="{StaticResource MonitorTextBoxStyle}"/>
<TextBlock Text=" %" VerticalAlignment="Center"/>
</StackPanel>
</StackPanel>
</StackPanel>
</Border>
</Grid>
</DockPanel>
</Window>