This commit is contained in:
xyy
2026-05-25 16:42:06 +08:00
parent ece5ab00f7
commit 3ce7f880f3
3 changed files with 293 additions and 288 deletions

View File

@@ -3,247 +3,239 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:hc="https://handyorg.github.io/handycontrol"
xmlns:local="clr-namespace:头罩视野.Views"
mc:Ignorable="d"
Background="#F5F7FA"
Background="#F0F2F5"
d:DesignHeight="768" d:DesignWidth="1024"
Title="PageTest" Loaded="Page_Loaded" Unloaded="Page_Unloaded" >
Title="PageTest" Loaded="Page_Loaded" Unloaded="Page_Unloaded">
<Page.Resources>
<!-- 全局字体 -->
<FontFamily x:Key="DefaultFont">Segoe UI, Microsoft YaHei</FontFamily>
<!-- 标题样式 -->
<Style x:Key="MainTitleStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="28"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="FontFamily" Value="{StaticResource DefaultFont}"/>
<Setter Property="FontSize" Value="26"/>
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="Foreground" Value="#2C3E50"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="Margin" Value="0,15,0,15"/>
</Style>
<!-- 标签样式 -->
<Style x:Key="LabelStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="16"/>
<Setter Property="FontFamily" Value="{StaticResource DefaultFont}"/>
<Setter Property="FontSize" Value="15"/>
<Setter Property="Foreground" Value="#5D6D7E"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Margin" Value="0,0,10,0"/>
<Setter Property="Margin" Value="0,0,10,0"/>
<Setter Property="Width" Value="115"/>
<Setter Property="Margin" Value="0,0,12,0"/>
<Setter Property="Width" Value="110"/>
</Style>
<!-- 单位样式 -->
<Style x:Key="UnitStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="14"/>
<Setter Property="FontFamily" Value="{StaticResource DefaultFont}"/>
<Setter Property="FontSize" Value="13"/>
<Setter Property="Foreground" Value="#7F8C8D"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Margin" Value="10,0,0,0"/>
<Setter Property="Margin" Value="8,0,0,0"/>
<Setter Property="FontStyle" Value="Italic"/>
</Style>
<!-- 文本框样式 -->
<Style x:Key="TextBoxStyle" TargetType="TextBox">
<Setter Property="Height" Value="35"/>
<Setter Property="Width" Value="200"/>
<Setter Property="FontSize" Value="18"/>
<Setter Property="Height" Value="34"/>
<Setter Property="Width" Value="180"/>
<Setter Property="FontSize" Value="16"/>
<Setter Property="TextAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="BorderBrush" Value="#D5D8DC"/>
<Setter Property="BorderThickness" Value="2"/>
<Setter Property="BorderBrush" Value="#BDC3C7"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Background" Value="#FFFFFF"/>
<Setter Property="Foreground" Value="#2C3E50"/>
<Setter Property="Padding" Value="10,5"/>
<Setter Property="Padding" Value="6,2"/>
<Style.Triggers>
<Trigger Property="IsFocused" Value="True">
<Setter Property="BorderBrush" Value="#3498DB"/>
</Trigger>
</Style.Triggers>
</Style>
<Style x:Key="TabButtonStyle" TargetType="Button">
<Setter Property="Background" Value="#3498DB"/>
<Setter Property="FontSize" Value="20"/>
<Setter Property="Foreground" Value="#fff"/>
<Setter Property="Height" Value="50"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="BorderBrush" Value="#fff"/>
</Style>
<!--<Style x:Key="ActButtonStyle" TargetType="Button">
<Setter Property="Background" Value="#8AB1EB"/>
<Setter Property="FontSize" Value="18"/>
<Setter Property="Foreground" Value="#fff"/>
<Setter Property="Height" Value="60"/>
<Setter Property="Width" Value="120"/>
</Style>-->
<!-- 卡片样式(带阴影) -->
<Style x:Key="CardStyle" TargetType="Border">
<Setter Property="Background" Value="#FFFFFF"/>
<Setter Property="CornerRadius" Value="8"/>
<Setter Property="Effect">
<Setter.Value>
<DropShadowEffect BlurRadius="12" ShadowDepth="2" Opacity="0.1" Color="#000000"/>
</Setter.Value>
</Setter>
</Style>
<!-- 底部导航按钮样式 -->
<Style x:Key="TabButtonStyle" TargetType="Button">
<Setter Property="Background" Value="#2C3E50"/>
<Setter Property="FontFamily" Value="{StaticResource DefaultFont}"/>
<Setter Property="FontSize" Value="18"/>
<Setter Property="Foreground" Value="#ECF0F1"/>
<Setter Property="Height" Value="52"/>
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="BorderBrush" Value="#34495E"/>
<Setter Property="BorderThickness" Value="0,1,0,0"/>
<Setter Property="Cursor" Value="Hand"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#34495E"/>
<Setter Property="Foreground" Value="#FFFFFF"/>
</Trigger>
</Style.Triggers>
</Style>
<!-- 控制按钮样式 -->
<Style x:Key="CtrlButtonStyle" TargetType="Button">
<Setter Property="Height" Value="36"/>
<Setter Property="Width" Value="110"/>
<Setter Property="FontSize" Value="15"/>
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="BorderThickness" Value="0"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Opacity" Value="0.85"/>
</Trigger>
</Style.Triggers>
</Style>
</Page.Resources>
<Grid Margin="10,0,0,0 ">
<Grid Margin="20,0,20,10">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto" MinHeight="227"/>
<RowDefinition/>
<!-- 0: 标题 -->
<RowDefinition Height="Auto"/>
<!-- 1: 参数区 -->
<RowDefinition Height="Auto"/>
<!-- 2: 数据区 -->
<RowDefinition Height="Auto"/>
<!-- 3: 控制按钮区 -->
<RowDefinition Height="*"/>
<!-- 4: 弹性空间(将导航栏推到底部) -->
<RowDefinition Height="Auto"/>
<!-- 5: 底部导航栏 -->
</Grid.RowDefinitions>
<!-- 顶部标题栏 -->
<Grid Grid.Row="0" Margin="0,0,0,10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
<!--<ColumnDefinition Width="Auto"/>-->
</Grid.ColumnDefinitions>
<!-- 测试界面标题 -->
<TextBlock Grid.Column="2" Style="{StaticResource MainTitleStyle}" Text="测试界面"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
<TextBlock Style="{StaticResource MainTitleStyle}" Text="头罩视野测试系统" HorizontalAlignment="Center"/>
</Grid>
<!-- 第二行:参数显示区 -->
<Grid Grid.Row="1" Margin="0,0,0,10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<!--<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>-->
</Grid.ColumnDefinitions>
<Border Grid.Row="0" Background="#FFFFFF" CornerRadius="10"
BorderBrush="#E5E8E8" BorderThickness="1"
Padding="25,20" Margin="0,0,0,25" >
<StackPanel Cursor="" Grid.Column="0">
<StackPanel Orientation="Horizontal" Margin="0,0,0,15">
<!-- 第二行:参数显示区(卡片式) -->
<Border Grid.Row="1" Style="{StaticResource CardStyle}" Padding="20,15" Margin="0,0,0,20">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<!-- 左侧参数组 -->
<StackPanel Orientation="Horizontal" Grid.Column="0">
<StackPanel Orientation="Horizontal" Margin="0,0,30,0">
<TextBlock Text="分辨角度:" Style="{StaticResource LabelStyle}"/>
<TextBox Name="fbspeed" Text="" Style="{StaticResource TextBoxStyle}" GotFocus="fbspeed_GotFocus"/>
<TextBox Name="fbspeed" Text="" Style="{StaticResource TextBoxStyle}" GotFocus="fbspeed_GotFocus"/>
<TextBlock Text="°" Style="{StaticResource UnitStyle}"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Horizontal" Margin="0,0,30,0">
<TextBlock Text="当前角度:" Style="{StaticResource LabelStyle}"/>
<TextBox Name="dqangle" Text="" Style="{StaticResource TextBoxStyle}" GotFocus="dqangle_GotFocus"/>
<TextBlock Text="°" Style="{StaticResource UnitStyle}"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,15,0,0">
<StackPanel Orientation="Horizontal">
<TextBlock Text="转动速度:" Style="{StaticResource LabelStyle}"/>
<TextBox Name="zdangle" Text="" Style="{StaticResource TextBoxStyle}" GotFocus="zdangle_GotFocus"/>
<TextBlock Text="°/S" Style="{StaticResource UnitStyle}"/>
<TextBlock Text="°/s" Style="{StaticResource UnitStyle}"/>
</StackPanel>
</StackPanel>
</Border>
<!--<Button Grid.Column="2" Content="打印" Margin="356,11,0,0" VerticalAlignment="Top" Height="42" Width="75" Click="Button_Click_Print" FontSize="18" RenderTransformOrigin="0.330,-0.63" HorizontalAlignment="Left"/>-->
<ToggleButton x:Name="tbTest"
FontSize="18"
Width="111" Height="40"
Background="LightGray"
Checked="TbTest_Checked"
Unchecked="TbTest_Unchecked" Grid.Column="1" HorizontalAlignment="Left" Margin="131,8,0,0" VerticalAlignment="Top" Grid.ColumnSpan="2">
<!-- 关键用Style去掉边框 -->
<ToggleButton.Template>
<ControlTemplate TargetType="ToggleButton">
<!-- 自定义外观去掉所有默认hover效果 -->
<Border x:Name="border"
CornerRadius="3"
Background="{TemplateBinding Background}"
BorderThickness="0">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<!-- 去掉默认的hover/点击效果触发器 -->
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="border" Property="Background" Value="LightGray"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</ToggleButton.Template>
空白测试
</ToggleButton>
<TextBlock x:Name="当前模式" Grid.Column="1" HorizontalAlignment="Left" Margin="39,16,0,0" TextWrapping="Wrap" VerticalAlignment="Top" FontSize="18" RenderTransformOrigin="-6.776,-2.381" Width="116"><Run Text="当前模式"/><Run Language="zh-cn" Text=""/></TextBlock>
<StackPanel Grid.Column="2" Orientation="Horizontal" HorizontalAlignment="Left" Margin="121,48,0,53" Width="181">
<!-- 左灯BL_0 (M-104) -->
<Ellipse x:Name="led0"
Width="50" Height="50"
Margin="10"
Fill="LightGray"
Stroke="LightGray" StrokeThickness="1" >
<Ellipse.Effect>
<DropShadowEffect Color="LightGray" ShadowDepth="2" BlurRadius="5"/>
</Ellipse.Effect>
</Ellipse>
<!-- 右侧:模式切换 + 指示灯 -->
<StackPanel Grid.Column="3" Orientation="Horizontal" VerticalAlignment="Center">
<ToggleButton x:Name="tbTest" FontSize="14" Width="100" Height="30"
Background="#E0E0E0" Margin="0,0,15,0"
Checked="TbTest_Checked" Unchecked="TbTest_Unchecked">
<ToggleButton.Template>
<ControlTemplate TargetType="ToggleButton">
<Border x:Name="border" CornerRadius="4" Background="{TemplateBinding Background}" BorderThickness="0">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="border" Property="Background" Value="#3A6B4B"/>
<Setter Property="Foreground" Value="White"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</ToggleButton.Template>
空白测试
</ToggleButton>
<TextBlock Text="当前模式:" VerticalAlignment="Center" Margin="0,0,8,0" FontSize="14" Foreground="#5D6D7E"/>
<TextBlock x:Name="当前模式" Text="空白测试" VerticalAlignment="Center" FontSize="14" FontWeight="Bold" Foreground="#3A6B4B"/>
<StackPanel Orientation="Horizontal" Margin="20,0,0,0">
<Ellipse x:Name="led0" Width="20" Height="20" Fill="LightGray" Stroke="#BDC3C7" Margin="5"/>
<Ellipse x:Name="led1" Width="20" Height="20" Fill="LightGray" Stroke="#BDC3C7" Margin="5"/>
</StackPanel>
</StackPanel>
</Grid>
</Border>
<!-- 右灯BL_1 (M-105) -->
<Ellipse x:Name="led1"
Width="50" Height="50"
Margin="30"
Fill="LightGray"
Stroke="LightGray" StrokeThickness="1">
<Ellipse.Effect>
<DropShadowEffect Color="LightGray" ShadowDepth="2" BlurRadius="5"/>
</Ellipse.Effect>
</Ellipse>
</StackPanel>
</Grid>
<!-- 第三行:视野数据区 -->
<Grid Grid.Row="1" Margin="-2,200,2,41" Grid.RowSpan="2">
<!-- 第三行:视野数据区(两列卡片) -->
<Grid Grid.Row="2" Margin="0,0,0,20">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<!--<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>-->
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Border Grid.Row="0" Grid.Column="0" Background="#FFFFFF" CornerRadius="10"
BorderBrush="#E5E8E8" BorderThickness="1"
Padding="25,20" Margin="0,0,447,-32" Grid.ColumnSpan="2" >
<StackPanel Cursor="">
<StackPanel Orientation="Horizontal" Margin="0,0,0,15">
<TextBlock Text="左目视野面积:" Style="{StaticResource LabelStyle}" />
<TextBox Name="zmsyarea" Text="" Style="{StaticResource TextBoxStyle}" />
<!-- 左眼及综合数据卡片 -->
<Border Grid.Column="0" Style="{StaticResource CardStyle}" Padding="25,20" Margin="0,0,10,0">
<StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,18">
<TextBlock Text="左目视野面积:" Style="{StaticResource LabelStyle}" Width="120"/>
<TextBox Name="zmsyarea" Text="" Style="{StaticResource TextBoxStyle}"/>
<TextBlock Text="cm²" Style="{StaticResource UnitStyle}"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="双目视野面积:" Style="{StaticResource LabelStyle}"/>
<StackPanel Orientation="Horizontal" Margin="0,0,0,18">
<TextBlock Text="双目视野面积:" Style="{StaticResource LabelStyle}" Width="120"/>
<TextBox Name="smsyarea" Text="" Style="{StaticResource TextBoxStyle}"/>
<TextBlock Text="cm²" Style="{StaticResource UnitStyle}"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,15,0,0" Visibility="Collapsed" >
<TextBlock Text="空白视野面积:" Style="{StaticResource LabelStyle}"/>
<TextBox Name="kbsyarea" Text="" Style="{StaticResource TextBoxStyle}"/>
<TextBlock Text="cm²" Style="{StaticResource UnitStyle}"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,15,0,0">
<TextBlock Text="总视野面积:" Style="{StaticResource LabelStyle}"/>
<StackPanel Orientation="Horizontal">
<TextBlock Text="总视野面积:" Style="{StaticResource LabelStyle}" Width="120"/>
<TextBox Name="zsyareaNum" Text="" Style="{StaticResource TextBoxStyle}"/>
<TextBlock Text="cm²" Style="{StaticResource UnitStyle}"/>
</StackPanel>
</StackPanel>
</Border>
<Border Grid.Column="1" Background="#FFFFFF" CornerRadius="10"
BorderBrush="#E5E8E8" BorderThickness="1"
Padding="25,20" Margin="422,0,19,-32" >
<StackPanel Cursor="">
<StackPanel Orientation="Horizontal" Margin="0,0,0,15">
<TextBlock Text="右目视野面积:" Style="{StaticResource LabelStyle}"/>
<TextBox Name="ymsyarea" Text="" Style="{StaticResource TextBoxStyle}"/>
<!-- 右眼及保存率卡片 -->
<Border Grid.Column="1" Style="{StaticResource CardStyle}" Padding="25,20" Margin="10,0,0,0">
<StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,18">
<TextBlock Text="右目视野面积:" Style="{StaticResource LabelStyle}" Width="120"/>
<TextBox Name="ymsyarea" Text="" Style="{StaticResource TextBoxStyle}"/>
<TextBlock Text="cm²" Style="{StaticResource UnitStyle}"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="下方视野:" Style="{StaticResource LabelStyle}"/>
<StackPanel Orientation="Horizontal" Margin="0,0,0,18">
<TextBlock Text="下方视野:" Style="{StaticResource LabelStyle}" Width="120"/>
<TextBox Name="xfsyarea" Text="" Style="{StaticResource TextBoxStyle}"/>
<TextBlock Text="°" Style="{StaticResource UnitStyle}"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,15,0,0">
<TextBlock Text="双目视野保存率:" Style="{StaticResource LabelStyle}"/>
<StackPanel Orientation="Horizontal" Margin="0,0,0,18">
<TextBlock Text="双目视野保存率:" Style="{StaticResource LabelStyle}" Width="120"/>
<TextBox Name="sybhl" Text="" Style="{StaticResource TextBoxStyle}"/>
<TextBlock Text="%" Style="{StaticResource UnitStyle}"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,15,0,0">
<TextBlock Text="总视野保存率:" Style="{StaticResource LabelStyle}"/>
<StackPanel Orientation="Horizontal">
<TextBlock Text="总视野保存率:" Style="{StaticResource LabelStyle}" Width="120"/>
<TextBox Name="zsysaveSum" Text="" Style="{StaticResource TextBoxStyle}"/>
<TextBlock Text="%" Style="{StaticResource UnitStyle}"/>
</StackPanel>
@@ -252,7 +244,7 @@
</Grid>
<!-- 第四行:控制按钮区 -->
<Grid Grid.Row="3" Margin="0,5,0,25">
<Grid Grid.Row="3" Margin="0,0,0,20">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
@@ -267,51 +259,50 @@
</Grid.RowDefinitions>
<!-- 复位 -->
<Button Grid.Row="0" Grid.Column="0" Grid.RowSpan="2" Content="复位" FontSize="18"
Width="120" Height="35" Background="#FF87CEFA" Foreground="White" Margin="5" Click="Button_Click_Reset" />
<Button Grid.Row="0" Grid.Column="0" Grid.RowSpan="2" Content="复位"
Style="{StaticResource CtrlButtonStyle}" Background="#4A6D8C" Margin="5" Click="Button_Click_Reset"/>
<!-- 左眼开 -->
<Button Grid.Row="0" Name="btnLeft" Grid.Column="1" Content="左眼开" FontSize="18"
Width="120" Height="35" Background="#FF87CEFA" Foreground="White" Margin="5" Click="Button_Click_left" />
<Button Grid.Row="0" Name="btnLeft" Grid.Column="1" Content="左眼开"
Style="{StaticResource CtrlButtonStyle}" Background="#4A6D8C" Margin="5" Click="Button_Click_left"/>
<!-- 反转 -->
<Button Grid.Row="0" Grid.Column="2" Content="反转" FontSize="18"
Width="120" Height="35" Background="#FF87CEFA" Foreground="White" Margin="5" PreviewMouseLeftButtonDown="Button_Click_ResDown"
PreviewMouseLeftButtonUp="Button_Click_ResUp" />
<!-- 反转(按下/弹起) -->
<Button Grid.Row="0" Grid.Column="2" Content="反转"
Style="{StaticResource CtrlButtonStyle}" Background="#4A6D8C" Margin="5"
PreviewMouseLeftButtonDown="Button_Click_ResDown" PreviewMouseLeftButtonUp="Button_Click_ResUp"/>
<!-- 右眼开 -->
<Button Grid.Row="1" Name="btnRight" Grid.Column="1" Content="右眼开" FontSize="18"
Width="120" Height="35" Background="#FF87CEFA" Foreground="White" Margin="5" Click="Button_Click_Right" />
<Button Grid.Row="1" Name="btnRight" Grid.Column="1" Content="右眼开"
Style="{StaticResource CtrlButtonStyle}" Background="#4A6D8C" Margin="5" Click="Button_Click_Right"/>
<!-- 正转(按下/弹起) -->
<Button Grid.Row="1" Grid.Column="2" Content="正转"
Style="{StaticResource CtrlButtonStyle}" Background="#4A6D8C" Margin="5"
PreviewMouseLeftButtonDown="Button_Click_ForDown" PreviewMouseLeftButtonUp="Button_Click_ForUp"/>
<!-- 正转 -->
<Button Grid.Row="1" Grid.Column="2" Content="正转" FontSize="18"
Width="120" Height="35" Background="#FF87CEFA" Foreground="White" Margin="5" PreviewMouseLeftButtonDown="Button_Click_ForDown"
PreviewMouseLeftButtonUp="Button_Click_ForUp" />
<!-- 测试 -->
<Button Grid.Row="0" Grid.Column="4" Name="ButtonTest" Grid.RowSpan="2" Content="测试" FontSize="18"
Width="120" Height="35" Background="LightGray" Foreground="White" Margin="5" Click="Button_Click_Test"/>
<Button Grid.Row="0" Grid.Column="4" Name="ButtonTest" Grid.RowSpan="2" Content="测试"
Style="{StaticResource CtrlButtonStyle}" Background="#27AE60" Margin="5" Click="Button_Click_Test"/>
<!-- 停止 -->
<Button Grid.Row="0" Grid.Column="5" Grid.RowSpan="2" Content="停止" FontSize="18"
Width="120" Height="35" Background="red" Foreground="White" Margin="5" Click="Button_Click_Stop" />
<Button Grid.Row="0" Grid.Column="5" Grid.RowSpan="2" Content="停止"
Style="{StaticResource CtrlButtonStyle}" Background="#E74C3C" Margin="5" Click="Button_Click_Stop"/>
</Grid>
<!-- 底部导航栏 -->
<Grid Grid.Row="4" Margin="0,0,0,10">
<!-- 第五行:弹性空间(占据剩余高度,将底部导航栏推到窗口底部) -->
<Grid Grid.Row="4" Background="Transparent"/>
<!-- 底部导航栏(固定在窗口最底部) -->
<Grid Grid.Row="5" VerticalAlignment="Bottom">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<!--<ColumnDefinition Width="*"/>-->
</Grid.ColumnDefinitions>
<Button Style="{StaticResource TabButtonStyle}" Grid.Column="0" Content="主页"
Click="GoHome" />
<Button Style="{StaticResource TabButtonStyle}" Grid.Column="1" Content="测试界面"
Click="GoTest" />
<!--<Button Style="{StaticResource TabButtonStyle}" Grid.Column="2" Content="数据记录"
Click="GoRecord" />-->
<Button Style="{StaticResource TabButtonStyle}" Grid.Column="2" Content="记录画面"
Click="GoView" />
<Button Style="{StaticResource TabButtonStyle}" Grid.Column="0" Content="主页" Click="GoHome"/>
<Button Style="{StaticResource TabButtonStyle}" Grid.Column="1" Content="测试界面" Click="GoTest"/>
<Button Style="{StaticResource TabButtonStyle}" Grid.Column="2" Content="记录画面" Click="GoView"/>
</Grid>
</Grid>
</Page>
</Page>

View File

@@ -775,7 +775,7 @@ namespace 头罩视野.Views
ma.BtnClickFunction(Function.ButtonType., 90);
zmsyarea.Text = "0"; // 左目
smsyarea.Text = "0"; // 双目
kbsyarea.Text = "0"; // 空白
//kbsyarea.Text = "0"; // 空白
ymsyarea.Text = "0"; // 右目
xfsyarea.Text = "0"; // 下方
sybhl.Text = "0"; // 视野保存率

View File

@@ -3,17 +3,21 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:头罩视野.Views"
mc:Ignorable="d"
d:DesignHeight="768" d:DesignWidth="1024"
Background="#F5F7FA" Loaded="Page_Loaded"
d:DesignHeight="768" d:DesignWidth="1024"
Background="#F0F2F5"
Loaded="Page_Loaded"
Title="RecordPage">
<Page.Resources>
<!-- 全局字体 -->
<FontFamily x:Key="DefaultFont">Segoe UI, Microsoft YaHei</FontFamily>
<!-- 标题样式 -->
<Style x:Key="MainTitleStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="28"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="FontFamily" Value="{StaticResource DefaultFont}"/>
<Setter Property="FontSize" Value="26"/>
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="Foreground" Value="#2C3E50"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="Margin" Value="0,15,0,15"/>
@@ -45,33 +49,30 @@
<!-- DataGrid 列头样式 -->
<Style x:Key="DataGridColumnHeaderStyle" TargetType="DataGridColumnHeader">
<Setter Property="Background" Value="#E5E5E5"/>
<Setter Property="Foreground" Value="Black"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="Foreground" Value="#2C3E50"/>
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="FontSize" Value="13"/>
<Setter Property="Height" Value="40"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Padding" Value="10,8"/>
<Setter Property="BorderBrush" Value="#E5E5E5"/>
<Setter Property="BorderThickness" Value="0,0,1,0"/>
<Setter Property="Padding" Value="8,4"/>
<Setter Property="BorderBrush" Value="#E5E8E8"/>
<Setter Property="BorderThickness" Value="0,0,1,1"/>
</Style>
<!-- DataGrid 行样式 -->
<Style x:Key="DataGridRowStyle" TargetType="DataGridRow">
<Setter Property="Background" Value="White"/>
<Style.Triggers>
<!-- 斑马线效果 -->
<Trigger Property="AlternationIndex" Value="0">
<Setter Property="Background" Value="#FFFFFF"/>
</Trigger>
<Trigger Property="AlternationIndex" Value="1">
<Setter Property="Background" Value="#F8F9F9"/>
</Trigger>
<!-- 鼠标悬停效果 -->
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#EBF5FB"/>
</Trigger>
<!-- 选中效果 -->
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#D6EAF8"/>
<Setter Property="BorderBrush" Value="#3498DB"/>
@@ -84,114 +85,127 @@
<Style x:Key="DataGridCellStyle" TargetType="DataGridCell">
<Setter Property="BorderBrush" Value="#ECF0F1"/>
<Setter Property="BorderThickness" Value="0,0,1,1"/>
<Setter Property="Padding" Value="10,8"/>
<Setter Property="Padding" Value="8,4"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="TextBlock.TextAlignment" Value="Center"/>
<Setter Property="Template">
</Style>
<!-- 底部导航按钮样式(与测试页面一致) -->
<Style x:Key="TabButtonStyle" TargetType="Button">
<Setter Property="Background" Value="#2C3E50"/>
<Setter Property="FontFamily" Value="{StaticResource DefaultFont}"/>
<Setter Property="FontSize" Value="18"/>
<Setter Property="Foreground" Value="#ECF0F1"/>
<Setter Property="Height" Value="52"/>
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="BorderBrush" Value="#34495E"/>
<Setter Property="BorderThickness" Value="0,1,0,0"/>
<Setter Property="Cursor" Value="Hand"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#34495E"/>
<Setter Property="Foreground" Value="#FFFFFF"/>
</Trigger>
</Style.Triggers>
</Style>
<!-- 卡片样式(带阴影) -->
<Style x:Key="CardStyle" TargetType="Border">
<Setter Property="Background" Value="#FFFFFF"/>
<Setter Property="CornerRadius" Value="8"/>
<Setter Property="Effect">
<Setter.Value>
<ControlTemplate TargetType="DataGridCell">
<Border BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Background="{TemplateBinding Background}"
Padding="{TemplateBinding Padding}"
SnapsToDevicePixels="True">
<ContentPresenter VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
</ControlTemplate>
<DropShadowEffect BlurRadius="12" ShadowDepth="2" Opacity="0.1" Color="#000000"/>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="TabButtonStyle" TargetType="Button">
<Setter Property="Background" Value="#3498DB"/>
<Setter Property="FontSize" Value="20"/>
<Setter Property="Foreground" Value="#fff"/>
<Setter Property="Height" Value="70"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="BorderBrush" Value="#fff"/>
<!-- 按钮样式 -->
<Style x:Key="ActionButtonStyle" TargetType="Button">
<Setter Property="Height" Value="40"/>
<Setter Property="Width" Value="100"/>
<Setter Property="FontSize" Value="15"/>
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="BorderThickness" Value="0"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Opacity" Value="0.85"/>
</Trigger>
</Style.Triggers>
</Style>
</Page.Resources>
<Grid Margin="10">
<Grid Margin="20,0,20,10">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<!-- 0: 标题栏 -->
<RowDefinition Height="*"/>
<!-- 1: 表格区(撑满剩余空间) -->
<RowDefinition Height="Auto"/>
<!-- 2: 操作按钮区 -->
<RowDefinition Height="Auto"/>
<!-- 3: 底部导航栏(固定在窗口底部) -->
</Grid.RowDefinitions>
<!-- 顶部标题栏 -->
<Grid Grid.Row="0" Margin="0 0 0 10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="2" Style="{StaticResource MainTitleStyle}" Text="记录画面"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
<Grid Grid.Row="0" Margin="0,0,0,15">
<TextBlock Style="{StaticResource MainTitleStyle}" Text="历史测试记录" HorizontalAlignment="Center"/>
</Grid>
<!--表格-->
<Grid Grid.Row="1" Margin="0 0 0 10">
<!-- 表格区(卡片样式,占据剩余高度) -->
<Border Grid.Row="1" Style="{StaticResource CardStyle}" Padding="5" Margin="0,0,0,15">
<DataGrid x:Name="RecordDataGrid"
Height="400"
Style="{StaticResource DataGridStyle}"
ColumnHeaderStyle="{StaticResource DataGridColumnHeaderStyle}"
RowStyle="{StaticResource DataGridRowStyle}"
CellStyle="{StaticResource DataGridCellStyle}"
AlternationCount="2"
AutoGenerateColumns="False"
CanUserAddRows="False"
IsReadOnly="True"
HeadersVisibility="Column"
GridLinesVisibility="All"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.HorizontalScrollBarVisibility="Auto"
AutoGenerateColumns="False"
CanUserAddRows="False"
IsReadOnly="True"
HeadersVisibility="Column"
GridLinesVisibility="All"
Style="{StaticResource DataGridStyle}"
AlternationCount="2"
ColumnHeaderStyle="{StaticResource DataGridColumnHeaderStyle}"
RowStyle="{StaticResource DataGridRowStyle}"
CellStyle="{StaticResource DataGridCellStyle}"
>
<!-- 表格列(你要的 6 列) -->
VerticalAlignment="Stretch">
<DataGrid.Columns>
<DataGridTextColumn Header="编号" Binding="{Binding Id}" Width="70" IsReadOnly="True" />
<DataGridTextColumn Header="时间" Binding="{Binding Time}" Width="120" IsReadOnly="True"/>
<DataGridTextColumn Header="日期" Binding="{Binding Date}" Width="120" IsReadOnly="True" />
<DataGridTextColumn Header="左目视野面积" Binding="{Binding LeftEyeArea,StringFormat=F2}" Width="130" IsReadOnly="True" />
<DataGridTextColumn Header="右目视野面积" Binding="{Binding RightEyeArea,StringFormat=F2}" Width="130" IsReadOnly="True"/>
<DataGridTextColumn Header="双目视野面积" Binding="{Binding BinocularArea,StringFormat=F2}" Width="130" IsReadOnly="True"/>
<DataGridTextColumn Header="下方视野" Binding="{Binding LowerVision,StringFormat=F2}" Width="130" IsReadOnly="True"/>
<DataGridTextColumn Header="总视野面积" Binding="{Binding totalVisionArea,StringFormat=F2}" Width="130" IsReadOnly="True"/>
<DataGridTextColumn Header="双目视野保存率" Binding="{Binding VisionRetentionRate,StringFormat=F2}" Width="130" IsReadOnly="True"/>
<DataGridTextColumn Header="总视野保存率" Binding="{Binding GetVisionRetentionRate,StringFormat=F2}" Width="130" IsReadOnly="True"/>
<DataGridTextColumn Header="编号" Binding="{Binding Id}" Width="60" />
<DataGridTextColumn Header="时间" Binding="{Binding Time}" Width="100" />
<DataGridTextColumn Header="日期" Binding="{Binding Date}" Width="100" />
<DataGridTextColumn Header="左目视野面积" Binding="{Binding LeftEyeArea,StringFormat=F2}" Width="120" />
<DataGridTextColumn Header="右目视野面积" Binding="{Binding RightEyeArea,StringFormat=F2}" Width="120" />
<DataGridTextColumn Header="双目视野面积" Binding="{Binding BinocularArea,StringFormat=F2}" Width="120" />
<DataGridTextColumn Header="下方视野" Binding="{Binding LowerVision,StringFormat=F2}" Width="90" />
<DataGridTextColumn Header="总视野面积" Binding="{Binding totalVisionArea,StringFormat=F2}" Width="120" />
<DataGridTextColumn Header="双目保存率" Binding="{Binding VisionRetentionRate,StringFormat=F2}" Width="100" />
<DataGridTextColumn Header="总保存率" Binding="{Binding GetVisionRetentionRate,StringFormat=F2}" Width="100" />
</DataGrid.Columns>
</DataGrid>
</Grid>
<!--按钮-->
<Grid Grid.Row="2" Margin="0,30,0,0">
<!-- 停止 -->
<Button Content="保存" FontSize="18"
Width="120" Height="50" Background="#3498DB" Foreground="White" Margin="840,0,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Click="btnSave_Click" />
<Button Content="清除" FontSize="18"
Width="120" Height="50" Background="White" BorderBrush="red" Foreground="red" Margin="10,0,0,0" HorizontalAlignment="Left" VerticalAlignment="Top"
PreviewMouseLeftButtonDown ="btnClear_MouseDown" PreviewMouseLeftButtonUp ="btnClear_MouseUp" />
<TextBlock HorizontalAlignment="Left" Foreground="red" Margin="139,14,0,0" TextWrapping="Wrap" VerticalAlignment="Top" FontSize="18" Width="202"><Run Language="zh-cn" Text="备注: 清除长按"/></TextBlock>
</Border>
<!-- 操作按钮区 -->
<Grid Grid.Row="2" Margin="0,0,0,15">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Center">
<Button Content="保存" Style="{StaticResource ActionButtonStyle}" Background="#27AE60" Margin="5" Click="btnSave_Click"/>
<Button Content="清除" Style="{StaticResource ActionButtonStyle}" Background="#E74C3C" Margin="5"
PreviewMouseLeftButtonDown="btnClear_MouseDown" PreviewMouseLeftButtonUp="btnClear_MouseUp"/>
<TextBlock Text="长按清除" VerticalAlignment="Center" Margin="15,0,0,0" FontSize="13" Foreground="#E74C3C" FontStyle="Italic"/>
</StackPanel>
</Grid>
<!-- 底部导航栏 -->
<Grid Grid.Row="3" VerticalAlignment="Bottom">
<!-- 底部导航栏(固定在窗口底部) -->
<Grid Grid.Row="3" VerticalAlignment="Bottom">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<!--<ColumnDefinition Width="*"/>-->
</Grid.ColumnDefinitions>
<Button Style="{StaticResource TabButtonStyle}" Grid.Column="0" Content="主页"
Click="GoHome" />
<Button Style="{StaticResource TabButtonStyle}" Grid.Column="1" Content="测试界面"
Click="GoTest" />
<!--<Button Style="{StaticResource TabButtonStyle}" Grid.Column="2" Content="数据记录"
Click="GoRecord" />-->
<Button Style="{StaticResource TabButtonStyle}" Grid.Column="3" Content="记录画面"
Click="GoView" />
<Button Style="{StaticResource TabButtonStyle}" Grid.Column="0" Content="主页" Click="GoHome"/>
<Button Style="{StaticResource TabButtonStyle}" Grid.Column="1" Content="测试界面" Click="GoTest"/>
<Button Style="{StaticResource TabButtonStyle}" Grid.Column="2" Content="记录画面" Click="GoView"/>
</Grid>
</Grid>
</Page>
</Page>