feat: resultPage add Detail View

master
Tongg 3 months ago
parent d80400253e
commit b6ae92c46b
  1. 2
      App.config
  2. 5
      App.xaml.cs
  3. 8
      MainWindow.xaml.cs
  4. BIN
      Resource/Images/UIResource/cut_mst_dtl.png
  5. 2
      SparkClient.csproj
  6. 128
      ViewModel/Grading/GradingResultVM.cs
  7. 127
      Views/Grading/GradingResult.xaml
  8. 14
      Views/Grading/GradingResult.xaml.cs
  9. 10
      Views/UserControl/Viewport3D.xaml.cs
  10. 2
      Views/UserControl/ViewportData/Helper/ViewportManager.cs

@ -18,7 +18,7 @@
<add key="ProgressTime" value="50000"/>
<add key="RunModel" value="0" />
<add key="AppVersion" value="1.0.20250318" />
<add key="AppVersion" value="1.0.20250325" />
</appSettings>
<connectionStrings>
<add name="" connectionString=""/>

@ -54,6 +54,11 @@ public partial class App : Application
Logger.Info($"Load RunMode is {Common.RunMode}");
Logger.Info("App Client Start: App Initialize Succeed !!!");
DispatcherUnhandledException += (s, ex) =>
{
MessageBox.Show($"致命错误: {ex.Exception.Message}");
ex.Handled = true;
};
Logger.Info("==== ==== ==== ==== ==== ==== ==== ====");
}
}

@ -143,7 +143,7 @@ public partial class MainWindow
}
private async void MainWindow_OnClosing(object? sender, CancelEventArgs e)
private void MainWindow_OnClosing(object? sender, CancelEventArgs e)
{
var message = MultilingualHelper.getString("ExitAsk");
var title = MultilingualHelper.getString("ExitAskTitle");
@ -153,10 +153,12 @@ public partial class MainWindow
if (result == MessageBoxResult.OK)
{
await SOCClientService.Service.OpenPump(false);
SOCClientService.Service.OpenPump(false);
DataBaseHelper.CloseConnection();
// this.Close();
Environment.Exit(0);
//Environment.Exit(0);
Console.WriteLine("Shutdown");
Application.Current.Shutdown();
}
e.Cancel = true;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

@ -224,6 +224,8 @@
<None Update="Resource\ResultReport.xlsx">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Remove="Resource\Images\UIResource\cut_mst_dtl.png" />
<Resource Include="Resource\Images\UIResource\cut_mst_dtl.png" />
</ItemGroup>
<ItemGroup>

@ -717,6 +717,14 @@ public class GradingResultVM : BaseViewModel
info.Max = FormatDouble_D(result.measurements.M2);
info.Dev = calDev(info.Max, info.Min);
var data = result.measurements;
info.Dtl1 = FormatDouble_D(data.DIAMETER_DETAIL.DIAMETER_1);
info.Dtl2 = FormatDouble_D(data.DIAMETER_DETAIL.DIAMETER_2);
info.Dtl3 = FormatDouble_D(data.DIAMETER_DETAIL.DIAMETER_3);
info.Dtl4 = FormatDouble_D(data.DIAMETER_DETAIL.DIAMETER_4);
info.Dtl5 = FormatDouble_D(data.DIAMETER_DETAIL.DIAMETER_5);
info.Dtl6 = FormatDouble_D(data.DIAMETER_DETAIL.DIAMETER_6);
info.Dtl7 = FormatDouble_D(data.DIAMETER_DETAIL.DIAMETER_7);
info.Dtl8 = FormatDouble_D(data.DIAMETER_DETAIL.DIAMETER_8);
info.SymLevel = calGradeSym("DIAMETER", calSymValue(data.M1, data.M2, data.DIAMETER,false));
return info;
}
@ -743,6 +751,11 @@ public class GradingResultVM : BaseViewModel
info.Max = FormatDouble_P(result.measurements.TABLE_MAX);
info.CutLevel = calGrade_TABLE(result.measurements.TABLE_MIN, result.measurements.TABLE_MAX);
info.isEnabled = false;
var data = result.measurements;
info.Dtl1 = FormatDouble_P(data.TABLE_DETAIL.TABLE_1);
info.Dtl2 = FormatDouble_P(data.TABLE_DETAIL.TABLE_2);
info.Dtl3 = FormatDouble_P(data.TABLE_DETAIL.TABLE_3);
info.Dtl4 = FormatDouble_P(data.TABLE_DETAIL.TABLE_4);
return info;
}
@ -759,6 +772,14 @@ public class GradingResultVM : BaseViewModel
info.CutLevel = calGrade_CROWN_ANGLE(result.measurements.CROWN_ANGLE_MIN, result.measurements.CROWN_ANGLE_MAX);
info.Dev = calDev(info.Max, info.Min);
var data = result.measurements;
info.Dtl1 = FormatDouble_A(data.CROWN_ANGLE_DETAIL.CROWN_ANGLE_1);
info.Dtl2 = FormatDouble_A(data.CROWN_ANGLE_DETAIL.CROWN_ANGLE_2);
info.Dtl3 = FormatDouble_A(data.CROWN_ANGLE_DETAIL.CROWN_ANGLE_3);
info.Dtl4 = FormatDouble_A(data.CROWN_ANGLE_DETAIL.CROWN_ANGLE_4);
info.Dtl5 = FormatDouble_A(data.CROWN_ANGLE_DETAIL.CROWN_ANGLE_5);
info.Dtl6 = FormatDouble_A(data.CROWN_ANGLE_DETAIL.CROWN_ANGLE_6);
info.Dtl7 = FormatDouble_A(data.CROWN_ANGLE_DETAIL.CROWN_ANGLE_7);
info.Dtl8 = FormatDouble_A(data.CROWN_ANGLE_DETAIL.CROWN_ANGLE_8);
info.SymLevel = calGradeSym(info.TestItemId, calSymValue(data.CROWN_ANGLE_MIN, data.CROWN_ANGLE_MAX, data.CROWN_ANGLE,false));
return info;
}
@ -776,6 +797,14 @@ public class GradingResultVM : BaseViewModel
info.CutLevel = calGrade_CROWN_HEIGHT(result.measurements.CROWN_H_MIN, result.measurements.CROWN_H_MAX);
info.Dev = calDev(info.Max, info.Min);
var data = result.measurements;
info.Dtl1 = FormatDouble_P(data.CROWN_HEIGHT_DETAIL.CROWN_HEIGHT_1);
info.Dtl2 = FormatDouble_P(data.CROWN_HEIGHT_DETAIL.CROWN_HEIGHT_2);
info.Dtl3 = FormatDouble_P(data.CROWN_HEIGHT_DETAIL.CROWN_HEIGHT_3);
info.Dtl4 = FormatDouble_P(data.CROWN_HEIGHT_DETAIL.CROWN_HEIGHT_4);
info.Dtl5 = FormatDouble_P(data.CROWN_HEIGHT_DETAIL.CROWN_HEIGHT_5);
info.Dtl6 = FormatDouble_P(data.CROWN_HEIGHT_DETAIL.CROWN_HEIGHT_6);
info.Dtl7 = FormatDouble_P(data.CROWN_HEIGHT_DETAIL.CROWN_HEIGHT_7);
info.Dtl8 = FormatDouble_P(data.CROWN_HEIGHT_DETAIL.CROWN_HEIGHT_8);
info.SymLevel = calGradeSym(info.TestItemId, calSymValue(data.CROWN_H_MIN, data.CROWN_H_MAX, data.CROWN_HEIGHT));
return info;
}
@ -792,6 +821,14 @@ public class GradingResultVM : BaseViewModel
info.Max = FormatDouble_P(result.measurements.GIRDLE_BEZEL_MAX);
info.Dev = calDev(info.Max, info.Min);
var data = result.measurements;
info.Dtl1 = FormatDouble_P(data.GIRDLE_BEZEL_DETAIL.GIRDLE_BEZEL_1);
info.Dtl2 = FormatDouble_P(data.GIRDLE_BEZEL_DETAIL.GIRDLE_BEZEL_2);
info.Dtl3 = FormatDouble_P(data.GIRDLE_BEZEL_DETAIL.GIRDLE_BEZEL_3);
info.Dtl4 = FormatDouble_P(data.GIRDLE_BEZEL_DETAIL.GIRDLE_BEZEL_4);
info.Dtl5 = FormatDouble_P(data.GIRDLE_BEZEL_DETAIL.GIRDLE_BEZEL_5);
info.Dtl6 = FormatDouble_P(data.GIRDLE_BEZEL_DETAIL.GIRDLE_BEZEL_6);
info.Dtl7 = FormatDouble_P(data.GIRDLE_BEZEL_DETAIL.GIRDLE_BEZEL_7);
info.Dtl8 = FormatDouble_P(data.GIRDLE_BEZEL_DETAIL.GIRDLE_BEZEL_8);
info.SymLevel = calGradeSym(info.TestItemId, calSymValue(data.GIRDLE_BEZEL_MIN, data.GIRDLE_BEZEL_MAX, data.GIRDLE_BEZEL));
return info;
}
@ -806,6 +843,15 @@ public class GradingResultVM : BaseViewModel
info.Min = FormatDouble_P(result.measurements.GIRDLE_BONE_MIN);
info.Max = FormatDouble_P(result.measurements.GIRDLE_BONE_MAX);
info.isEnabled = false;
var data = result.measurements;
info.Dtl1 = FormatDouble_P(data.GIRDLE_BONE_DETAIL.GIRDLE_BONE_1);
info.Dtl2 = FormatDouble_P(data.GIRDLE_BONE_DETAIL.GIRDLE_BONE_2);
info.Dtl3 = FormatDouble_P(data.GIRDLE_BONE_DETAIL.GIRDLE_BONE_3);
info.Dtl4 = FormatDouble_P(data.GIRDLE_BONE_DETAIL.GIRDLE_BONE_4);
info.Dtl5 = FormatDouble_P(data.GIRDLE_BONE_DETAIL.GIRDLE_BONE_5);
info.Dtl6 = FormatDouble_P(data.GIRDLE_BONE_DETAIL.GIRDLE_BONE_6);
info.Dtl7 = FormatDouble_P(data.GIRDLE_BONE_DETAIL.GIRDLE_BONE_7);
info.Dtl8 = FormatDouble_P(data.GIRDLE_BONE_DETAIL.GIRDLE_BONE_8);
return info;
}
@ -822,6 +868,33 @@ public class GradingResultVM : BaseViewModel
info.CutLevel = calGrade_GIRDLE(result.measurements.GIRDLE_VALLEY_MIN, result.measurements.GIRDLE_VALLEY_MAX);
info.Dev = calDev(info.Max, info.Min);
var data = result.measurements;
List<double> doubles = new List<double>();
var girdleValleyDetail = data.GIRDLE_VALLEY_DETAIL;
doubles.Add(girdleValleyDetail.GIRDLE_VALLEY_1);
doubles.Add(girdleValleyDetail.GIRDLE_VALLEY_2);
doubles.Add(girdleValleyDetail.GIRDLE_VALLEY_3);
doubles.Add(girdleValleyDetail.GIRDLE_VALLEY_4);
doubles.Add(girdleValleyDetail.GIRDLE_VALLEY_5);
doubles.Add(girdleValleyDetail.GIRDLE_VALLEY_6);
doubles.Add(girdleValleyDetail.GIRDLE_VALLEY_7);
doubles.Add(girdleValleyDetail.GIRDLE_VALLEY_8);
doubles.Add(girdleValleyDetail.GIRDLE_VALLEY_9);
doubles.Add(girdleValleyDetail.GIRDLE_VALLEY_10);
doubles.Add(girdleValleyDetail.GIRDLE_VALLEY_11);
doubles.Add(girdleValleyDetail.GIRDLE_VALLEY_12);
doubles.Add(girdleValleyDetail.GIRDLE_VALLEY_13);
doubles.Add(girdleValleyDetail.GIRDLE_VALLEY_14);
doubles.Add(girdleValleyDetail.GIRDLE_VALLEY_15);
doubles.Add(girdleValleyDetail.GIRDLE_VALLEY_16);
doubles.Sort();
info.Dtl1= FormatDouble_P2(doubles[0]);
info.Dtl2 = FormatDouble_P2(doubles[1]);
info.Dtl3 = FormatDouble_P2(doubles[2]);
info.Dtl4 = FormatDouble_P2(doubles[3]);
info.Dtl5 = FormatDouble_P2(doubles[12]);
info.Dtl6 = FormatDouble_P2(doubles[13]);
info.Dtl7 = FormatDouble_P2(doubles[14]);
info.Dtl8 = FormatDouble_P2(doubles[15]);
info.SymLevel = calGradeSym(info.TestItemId, calSymValue(data.GIRDLE_VALLEY_MIN, data.GIRDLE_VALLEY_MAX, data.GIRDLE_VALLEY));
return info;
}
@ -839,6 +912,14 @@ public class GradingResultVM : BaseViewModel
info.CutLevel = calGrade_PAV_ANGLE(result.measurements.PAV_ANGLE_MIN, result.measurements.PAV_ANGLE_MAX);
info.Dev = calDev(info.Max, info.Min);
var data = result.measurements;
info.Dtl1 = FormatDouble_A(data.PAV_ANGLE_DETAIL.PAV_ANGLE_1);
info.Dtl2 = FormatDouble_A(data.PAV_ANGLE_DETAIL.PAV_ANGLE_2);
info.Dtl3 = FormatDouble_A(data.PAV_ANGLE_DETAIL.PAV_ANGLE_3);
info.Dtl4 = FormatDouble_A(data.PAV_ANGLE_DETAIL.PAV_ANGLE_4);
info.Dtl5 = FormatDouble_A(data.PAV_ANGLE_DETAIL.PAV_ANGLE_5);
info.Dtl6 = FormatDouble_A(data.PAV_ANGLE_DETAIL.PAV_ANGLE_6);
info.Dtl7 = FormatDouble_A(data.PAV_ANGLE_DETAIL.PAV_ANGLE_7);
info.Dtl8 = FormatDouble_A(data.PAV_ANGLE_DETAIL.PAV_ANGLE_8);
info.SymLevel = calGradeSym(info.TestItemId, calSymValue(data.PAV_ANGLE_MIN, data.PAV_ANGLE_MAX, data.PAV_ANGLE, false));
return info;
}
@ -856,6 +937,14 @@ public class GradingResultVM : BaseViewModel
info.CutLevel = calGrade_PAV_DEPTH(result.measurements.PAV_DEPTH_MIN, result.measurements.PAV_DEPTH_MAX);
info.Dev = calDev(info.Max, info.Min);
var data = result.measurements;
info.Dtl1 = FormatDouble_P(data.PAV_DEPTH_DETAIL.PAV_DEPTH_1);
info.Dtl2 = FormatDouble_P(data.PAV_DEPTH_DETAIL.PAV_DEPTH_2);
info.Dtl3 = FormatDouble_P(data.PAV_DEPTH_DETAIL.PAV_DEPTH_3);
info.Dtl4 = FormatDouble_P(data.PAV_DEPTH_DETAIL.PAV_DEPTH_4);
info.Dtl5 = FormatDouble_P(data.PAV_DEPTH_DETAIL.PAV_DEPTH_5);
info.Dtl6 = FormatDouble_P(data.PAV_DEPTH_DETAIL.PAV_DEPTH_6);
info.Dtl7 = FormatDouble_P(data.PAV_DEPTH_DETAIL.PAV_DEPTH_7);
info.Dtl8 = FormatDouble_P(data.PAV_DEPTH_DETAIL.PAV_DEPTH_8);
info.SymLevel = calGradeSym(info.TestItemId, calSymValue(data.PAV_DEPTH_MIN, data.PAV_DEPTH_MAX, data.PAV_DEPTH));
return info;
}
@ -871,6 +960,15 @@ public class GradingResultVM : BaseViewModel
info.Max = FormatDouble_P(result.measurements.STAR_MAX);
info.CutLevel = calGrade_STAR(result.measurements.STAR_MIN, result.measurements.STAR_MAX);
info.isEnabled = false;
var data = result.measurements;
info.Dtl1 = FormatDouble_P(data.STAR_DETAIL.STAR_1);
info.Dtl2 = FormatDouble_P(data.STAR_DETAIL.STAR_2);
info.Dtl3 = FormatDouble_P(data.STAR_DETAIL.STAR_3);
info.Dtl4 = FormatDouble_P(data.STAR_DETAIL.STAR_4);
info.Dtl5 = FormatDouble_P(data.STAR_DETAIL.STAR_5);
info.Dtl6 = FormatDouble_P(data.STAR_DETAIL.STAR_6);
info.Dtl7 = FormatDouble_P(data.STAR_DETAIL.STAR_7);
info.Dtl8 = FormatDouble_P(data.STAR_DETAIL.STAR_8);
return info;
}
@ -885,6 +983,15 @@ public class GradingResultVM : BaseViewModel
info.Max = FormatDouble_P(result.measurements.LOWER_HALVES_RATIO_MAX);
info.CutLevel = calGrade_LOWER_HALVES_RATIO(result.measurements.LOWER_HALVES_RATIO_MIN, result.measurements.LOWER_HALVES_RATIO_MAX);
info.isEnabled = false;
var data = result.measurements;
info.Dtl1 = FormatDouble_P(data.LOWER_HALVES_RATIO_DETAIL.LOWER_HALVES_RATIO_1);
info.Dtl2 = FormatDouble_P(data.LOWER_HALVES_RATIO_DETAIL.LOWER_HALVES_RATIO_2);
info.Dtl3 = FormatDouble_P(data.LOWER_HALVES_RATIO_DETAIL.LOWER_HALVES_RATIO_3);
info.Dtl4 = FormatDouble_P(data.LOWER_HALVES_RATIO_DETAIL.LOWER_HALVES_RATIO_4);
info.Dtl5 = FormatDouble_P(data.LOWER_HALVES_RATIO_DETAIL.LOWER_HALVES_RATIO_5);
info.Dtl6 = FormatDouble_P(data.LOWER_HALVES_RATIO_DETAIL.LOWER_HALVES_RATIO_6);
info.Dtl7 = FormatDouble_P(data.LOWER_HALVES_RATIO_DETAIL.LOWER_HALVES_RATIO_7);
info.Dtl8 = FormatDouble_P(data.LOWER_HALVES_RATIO_DETAIL.LOWER_HALVES_RATIO_8);
return info;
}
@ -897,6 +1004,7 @@ public class GradingResultVM : BaseViewModel
info.Avg = FormatDouble_Avg(result.measurements.CULET * 100, Accuracy.ZD1);
info.CutLevel = calGrade_CULET(result.measurements.CULET);
info.isEnabled = false;
return info;
}
@ -909,6 +1017,7 @@ public class GradingResultVM : BaseViewModel
info.Avg = FormatDouble_Avg(result.measurements.TOC * 100, Accuracy.ZD1);
var data = result.measurements;
info.SymLevel = calGradeSym(info.TestItemId, data.TOC * 100);
return info;
}
@ -922,6 +1031,7 @@ public class GradingResultVM : BaseViewModel
var data = result.measurements;
info.SymLevel = calGradeSym(info.TestItemId, data.COC * 100);
return info;
}
[Log]
@ -936,6 +1046,14 @@ public class GradingResultVM : BaseViewModel
info.Max = FormatDouble_A(result.measurements.TWIST_MAX);
info.Dev = calDev(info.Max, info.Min);
var data = result.measurements;
info.Dtl1 = FormatDouble_A(data.TWIST_DETAIL.TWIST_1);
info.Dtl2 = FormatDouble_A(data.TWIST_DETAIL.TWIST_2);
info.Dtl3 = FormatDouble_A(data.TWIST_DETAIL.TWIST_3);
info.Dtl4 = FormatDouble_A(data.TWIST_DETAIL.TWIST_4);
info.Dtl5 = FormatDouble_A(data.TWIST_DETAIL.TWIST_5);
info.Dtl6 = FormatDouble_A(data.TWIST_DETAIL.TWIST_6);
info.Dtl7 = FormatDouble_A(data.TWIST_DETAIL.TWIST_7);
info.Dtl8 = FormatDouble_A(data.TWIST_DETAIL.TWIST_8);
info.SymLevel = calGradeSym(info.TestItemId, calSymValue(data.TWIST_MIN, data.TWIST_MAX, data.TWIST));
return info;
}
@ -2606,6 +2724,16 @@ public class DataInfo
public string? Dev { get; set; }
public string? Min { get; set; }
public string? Max { get; set; }
public string Dtl1 { get; set; } = string.Empty;
public string Dtl2 { get; set; } = string.Empty;
public string Dtl3 { get; set; } = string.Empty;
public string Dtl4 { get; set; } = string.Empty;
public string Dtl5 { get; set; } = string.Empty;
public string Dtl6 { get; set; } = string.Empty;
public string Dtl7 { get; set; } = string.Empty;
public string Dtl8 { get; set; } = string.Empty;
public string? CutLevel { get; set; }
private Int64? _symLevel;
//public int? SymLevel { get; set; }

@ -327,7 +327,21 @@
</Grid>
</Border>
<Border Grid.Row="2" Grid.Column="0" Style="{StaticResource BorderRowStyle}" >
<TabControl Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="3" Background="Transparent" BorderThickness="0" x:Name="TabControl">
<TabControl.ItemContainerStyle>
<Style TargetType="{x:Type TabItem}">
<Setter Property="Visibility" Value="Collapsed"/>
</Style>
</TabControl.ItemContainerStyle>
<TabItem Header="Default" x:Name="TabItemDefault">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition MinWidth="300" Width="5*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition MinWidth="300" Width="4*" />
</Grid.ColumnDefinitions>
<Border Grid.Column="0" Style="{StaticResource BorderRowStyle}" >
<DataGrid ItemsSource="{Binding DtResults,Mode=TwoWay}" FontSize="20"
AutoGenerateColumns="False"
HeadersVisibility="Column"
@ -771,8 +785,8 @@
</DataGrid>
</Border>
<GridSplitter Grid.Row="2" Grid.Column="1" Width="5" HorizontalAlignment="Stretch" Background="Transparent"></GridSplitter>
<Border Grid.Row="2" Grid.Column="2" Background="White" Style="{StaticResource BorderRowStyle}">
<GridSplitter Grid.Column="1" Width="5" HorizontalAlignment="Stretch" Background="Transparent"></GridSplitter>
<Border Grid.Column="2" Background="White" Style="{StaticResource BorderRowStyle}">
<Grid>
<Grid.RowDefinitions>
<!-- <RowDefinition Height="50"></RowDefinition> -->
@ -781,5 +795,112 @@
<userControl:Viewport3D ViewportData="{Binding ViewportData}"></userControl:Viewport3D>
</Grid>
</Border>
<Button Grid.Column="0" Background="Transparent" BorderBrush="Transparent" Padding="0" Width="40" Height="40"
HorizontalAlignment="Left" VerticalAlignment="Top" Margin=" 10 10 0 0" Click="ButtonBase_OnClick">
<Image Source="../../Resource/Images/UserControl/../UIResource/cut_mst_dtl.png" />
</Button>
</Grid>
</TabItem>
<TabItem Header="Detail" x:Name="TabItemDetail">
<Grid>
<Border Background="White" Style="{StaticResource BorderRowStyle}">
<DataGrid ItemsSource="{Binding DtResults,Mode=TwoWay}" FontSize="20"
AutoGenerateColumns="False"
HeadersVisibility="Column"
Background="Transparent"
BorderThickness="0"
CanUserSortColumns="False"
CanUserResizeColumns="False"
GridLinesVisibility="None"
HorizontalScrollBarVisibility="Hidden"
VerticalScrollBarVisibility="Hidden"
ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ScrollViewer.VerticalScrollBarVisibility="Hidden"
FocusVisualStyle="{x:Null}"
IsReadOnly="True"
RowStyle="{StaticResource CustomDataGridRowStyle}"
ColumnHeaderStyle="{StaticResource CustomColumnHeaderStyle}"
CellStyle="{StaticResource CustomDataGridCellStyle}"
AlternationCount="2">
<DataGrid.Resources>
<Style TargetType="ScrollBar">
<Setter Property="Visibility" Value="Collapsed"/>
</Style>
</DataGrid.Resources>
<DataGrid.Columns>
<DataGridTemplateColumn Header="" Width="2*" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock Text="{Binding TestItemName}"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Grid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<!-- 第2~5列 -->
<DataGridTextColumn Header="{StaticResource DiamondResultGridAvgValue}" Binding="{Binding Avg}" Width="*" ElementStyle="{StaticResource CenteredTextBlockStyle}"/>
<DataGridTextColumn Header="{StaticResource DiamondResultGridDeviationValue}" Binding="{Binding Dev}" Width="*" ElementStyle="{StaticResource CenteredTextBlockStyle}"/>
<DataGridTextColumn Header="{StaticResource DiamondResultGridMinValue}" Binding="{Binding Min}" Width="*" ElementStyle="{StaticResource CenteredTextBlockStyle}"/>
<DataGridTextColumn Header="{StaticResource DiamondResultGridMaxValue}" Binding="{Binding Max}" Width="*" ElementStyle="{StaticResource CenteredTextBlockStyle}"/>
<DataGridTextColumn Header="1" Binding="{Binding Dtl1}" Width="*" ElementStyle="{StaticResource CenteredTextBlockStyle}"/>
<DataGridTextColumn Header="2" Binding="{Binding Dtl2}" Width="*" ElementStyle="{StaticResource CenteredTextBlockStyle}"/>
<DataGridTextColumn Header="3" Binding="{Binding Dtl3}" Width="*" ElementStyle="{StaticResource CenteredTextBlockStyle}"/>
<DataGridTextColumn Header="4" Binding="{Binding Dtl4}" Width="*" ElementStyle="{StaticResource CenteredTextBlockStyle}"/>
<DataGridTextColumn Header="5" Binding="{Binding Dtl5}" Width="*" ElementStyle="{StaticResource CenteredTextBlockStyle}"/>
<DataGridTextColumn Header="6" Binding="{Binding Dtl6}" Width="*" ElementStyle="{StaticResource CenteredTextBlockStyle}"/>
<DataGridTextColumn Header="7" Binding="{Binding Dtl7}" Width="*" ElementStyle="{StaticResource CenteredTextBlockStyle}"/>
<DataGridTextColumn Header="8" Binding="{Binding Dtl8}" Width="*" ElementStyle="{StaticResource CenteredTextBlockStyle}"/>
<!-- 第6列 -->
<DataGridTextColumn Header="{StaticResource DiamondResultGridCutLevel}" Binding="{Binding CutLevel}" Width="*">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="Foreground" Value="Blue"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<!-- 第五列:SYM等级,下拉框示例,可编辑 -->
<DataGridTemplateColumn Width="*" Header="{DynamicResource DiamondResultGridSymLevel}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding GradeList}"
IsEnabled="{Binding isEnabled}"
DisplayMemberPath="{DynamicResource NameType}"
SelectedValuePath="GRADE_ORDER"
SelectedValue="{Binding SymLevel, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
SelectionChanged="ChangSymLevel"
FontSize="20"
Foreground="DarkSlateGray"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Width="100">
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="TestItemId" Binding="{Binding TestItemId}" Visibility="Hidden"/>
</DataGrid.Columns>
</DataGrid>
</Border>
<Button Grid.Column="0" Background="Transparent" BorderBrush="Transparent" Padding="0" Width="40" Height="40"
HorizontalAlignment="Left" VerticalAlignment="Top" Margin=" 10 10 0 0" Click="ButtonBase_OnClick">
<Image Source="../../Resource/Images/UserControl/../UIResource/cut_mst_dtl.png" />
</Button>
</Grid>
</TabItem>
</TabControl>
</Grid>
</Border>

@ -295,4 +295,18 @@ public partial class GradingResult
image.Source = new BitmapImage(new Uri(@"pack://application:,,,/Resource/Images/UIResource/01-8-1.png"));
}
}
private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
{
if (TabItemDefault.IsSelected == true)
{
TabItemDetail.IsSelected = true;
TabItemDefault.IsSelected = false;
}
else
{
TabItemDetail.IsSelected = false;
TabItemDefault.IsSelected = true;
}
}
}

@ -17,6 +17,7 @@ using SharpDX.Direct3D11;
using SharpDX.DXGI;
using MathNet.Numerics;
using System.Windows.Media;
using NPOI.SS.Formula.Functions;
using SparkClient.Model.Services;
using MessageBox = SparkClient.Views.Dialog.MessageBox;
using ObjExporter = SparkClient.Views.UserControl.ViewportData.Helper.ObjExporter;
@ -105,6 +106,15 @@ public partial class Viewport3D
}
ViewportManager.ShowMainModel3DByType(false);
ViewportManager.ShowMainModel3D(false);
ViewportManager.ShowMainModelLines(false);
ViewportManager.ShowMainModelLines(true);
ViewportManager.ShowMainModel3D(true);
ViewportManager.ShowMainModel3DByType(true);
}

@ -394,7 +394,7 @@ public class ViewportManager
camera.UpDirection = new Vector3D(0, 0, -1);
camera.LookDirection = new Vector3D(center.X - camera.Position.X, center.Y - camera.Position.Y, center.Z - camera.Position.Z);
_viewport.RenderHost.MSAA = MSAALevel.Maximum;
// TODO:
InitMeshLines();
}

Loading…
Cancel
Save