页面逻辑修改

This commit is contained in:
2026-05-11 19:12:34 +08:00
parent e45100bd72
commit 459e2fdbfd
6 changed files with 49 additions and 21 deletions

View File

@@ -16,6 +16,9 @@ namespace 头罩视野.Services
public static double verticalAngleStep = 90.0 / (totalLights - 1); // 上下灯条用
public static double horizontalAngleStep = 180.0 / (totalLights - 1); // 左右灯条用
//public const double BlankTotalBaseArea = 4610;
//public const double lysmcdSrea = 780;
///// <summary>双目标准标定总面积无面罩空标准头模的双目总实测面积国标总视野保存率计算的基准值单位cm²</summary>
//public const double StandardTotal = 10360;

View File

@@ -21,7 +21,7 @@ namespace 头罩视野
public double totalVisionArea { get; set; }
public double GetVisionRetentionRate { get; set; }
}
@@ -63,6 +63,9 @@ namespace 头罩视野
public static double BlankArea { get; set; }
public static double LowerVision { get; set; }//下方视野角度
public static double VisionRetentionRate { get; set; }
public static double zsymjValue { get; set; }
public static double kbsmsyArea { get; set; }
}
}
}

View File

@@ -24,7 +24,7 @@
<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="100"/>
<Setter Property="Width" Value="115"/>
</Style>
<Style x:Key="UnitStyle" TargetType="TextBlock">
@@ -238,7 +238,7 @@
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,15,0,0">
<TextBlock Text="视野保存率:" Style="{StaticResource LabelStyle}"/>
<TextBlock Text="双目视野保存率:" Style="{StaticResource LabelStyle}"/>
<TextBox Name="sybhl" Text="" Style="{StaticResource TextBoxStyle}"/>
<TextBlock Text="%" Style="{StaticResource UnitStyle}"/>
</StackPanel>

View File

@@ -72,6 +72,11 @@ namespace 头罩视野.Views
MessageBox.Show("未连接");
return;
}
//if (GlobalData.zsymjValue > 0 && !double.IsNaN(GlobalData.zsymjValue) && !double.IsInfinity(GlobalData.zsymjValue))
//{
// // 直接调用测试方法,简单能用
// TbTest_Checked(null, null);
//}
}
// 硬件固定参数(提前定义好,不要改)
@@ -187,38 +192,55 @@ namespace 头罩视野.Views
if (isLeftOnly)
{
double binocularRateL = GetArea.CalcVisionRate(_leftTotalArea);
sybhl.Text = binocularRateL.ToString("0"); // 视野保存率
//double binocularRateL = GetArea.CalcVisionRate(_leftTotalArea);
//sybhl.Text = binocularRateL.ToString("0"); // 视野保存率
double blankArea = GetArea.GetBlankViewArea(_leftTotalArea);
kbsyarea.Text = blankArea.ToString("0"); // 空白视野面积
//double blankArea = GetArea.GetBlankViewArea(_leftTotalArea);
//kbsyarea.Text = blankArea.ToString("0"); // 空白视野面积
}
else if (isRightOnly)
{
double binocularRateR = GetArea.CalcVisionRate(_rightTotalArea);
sybhl.Text = binocularRateR.ToString("0"); // 视野保存率
double blankArea = GetArea.GetBlankViewArea(_rightTotalArea);
kbsyarea.Text = blankArea.ToString("0"); // 空白视野面积
//double binocularRateR = GetArea.CalcVisionRate(_rightTotalArea);
//sybhl.Text = binocularRateR.ToString("0"); // 视野保存率
//double blankArea = GetArea.GetBlankViewArea(_rightTotalArea);
//kbsyarea.Text = blankArea.ToString("0"); // 空白视野面积
}
if (_leftFinalData != null && _leftFinalData.Count > 0 &&_rightFinalData != null && _rightFinalData.Count > 0)
{
// ✅ 传值调用:把左右眼最终数据传给方法
_binocularTotalArea = GetArea.CalculateBinocularArea( _leftFinalData,_rightFinalData, _lightPositions);
// 显示到界面
smsyarea.Text =_binocularTotalArea.ToString("0.00");
// 视野保存率(如果需要)
double binocularRateD = GetArea.CalcVisionRate(_binocularTotalArea);
sybhl.Text = binocularRateD.ToString("0.0"); // 左右,双目视野保存率
double zsyareaNumT= (_leftTotalArea + _rightTotalArea) - _binocularTotalArea;
zsyareaNum.Text = zsyareaNumT.ToString("0.0");//总视野面积
//double zsysaveSumT = GetArea.CalcVisionRate(zsyareaNumT) ;
zsyareaNum.Text = zsyareaNumT.ToString("0.0");//总视野面积
double blankArea = zsyareaNumT;
kbsyarea.Text = blankArea.ToString("0"); // 空白视野面积
if (tbTest.Content.ToString() == "空白测试")
{
GlobalData.zsymjValue = zsyareaNumT;//总基准视野面积
GlobalData.kbsmsyArea = _binocularTotalArea;//双目视野面积
sybhl.Text = "100.0"; // 双目视野保存率
zsysaveSum.Text = "100.0";//总视野保存率
System.Diagnostics.Debug.WriteLine($"总视野基数面积:{GlobalData.zsymjValue}");
System.Diagnostics.Debug.WriteLine($"空白视野基数面积:{GlobalData.kbsmsyArea}");
}
if (tbTest.Content.ToString() == "试样测试")
{
double zongSmNum1 = (_binocularTotalArea / GlobalData.kbsmsyArea) * 100;
sybhl.Text = zongSmNum1.ToString("0.00"); // 双目视野保存率
double zongNum1 = (zsyareaNumT / GlobalData.zsymjValue ) * 100;
zsysaveSum.Text = zongNum1.ToString("0.00");//总视野保存率
}
double zsysaveSumT= GetArea.CalcVisionRate(zsyareaNumT);
zsysaveSum.Text = zsysaveSumT.ToString("0.0");//总视野保存率
}
//if (double.TryParse(smsyarea.Text, out double totalAreaForRate))

View File

@@ -158,8 +158,8 @@
<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 VisionRetentionRate,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"/>
</DataGrid.Columns>
</DataGrid>

View File

@@ -24,7 +24,7 @@
<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="100"/>
<Setter Property="Width" Value="105"/>
</Style>
<Style x:Key="TextBoxStyle" TargetType="TextBox">
<Setter Property="Height" Value="40"/>