604 lines
35 KiB
XML
604 lines
35 KiB
XML
<UserControl x:Class="AuroraLaser.Views.UCLaserCompactCalibration"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
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:behavior="http://schemas.microsoft.com/xaml/behaviors"
|
|
xmlns:local="clr-namespace:AuroraLaser.Views"
|
|
xmlns:aurora="clr-namespace:Aurora.View;assembly=Aurora"
|
|
xmlns:lvc="clr-namespace:LiveChartsCore.SkiaSharpView.WPF;assembly=LiveChartsCore.SkiaSharpView.WPF"
|
|
xmlns:mah="http://metro.mahapps.com/winfx/xaml/controls" xmlns:usercontrols="clr-namespace:AuroraUIComponent.UserControls;assembly=AuroraUIComponent"
|
|
d:DataContext="{d:DesignInstance Type=local:UCLaserCompactCalibrationViewModel}"
|
|
mc:Ignorable="d"
|
|
d:DesignHeight="450" d:DesignWidth="800"
|
|
x:Name="uc" IsEnabled="{Binding IsUCViewEnabled}">
|
|
|
|
<UserControl.Resources>
|
|
<ResourceDictionary>
|
|
<ResourceDictionary.MergedDictionaries>
|
|
<aurora:SharedResourceDictionary Source="pack://application:,,,/AuroraUIComponent;component/Style/Generic.xaml"/>
|
|
</ResourceDictionary.MergedDictionaries>
|
|
<Style x:Key="TextBoxBorder" TargetType="Border">
|
|
<Setter Property="Background" Value="{StaticResource BLGPurple}"/>
|
|
<Setter Property="BorderBrush" Value="#401A69"/>
|
|
<Setter Property="BorderThickness" Value="2"/>
|
|
<Setter Property="MinHeight" Value="28"/>
|
|
</Style>
|
|
<Style TargetType="GroupBox" x:Key="StGroupBoxLaserCalib">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="GroupBox">
|
|
<!-- <Border Grid.Row="0" Margin="0 0" Style="{StaticResource StGroupBorder}" Background="#1e1e1e"> -->
|
|
<Border Grid.Row="0" Margin="0 0" Style="{StaticResource StGroupBorder}">
|
|
<Grid Margin="5">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="*"/>
|
|
</Grid.RowDefinitions>
|
|
<ContentPresenter ContentSource="Header" HorizontalAlignment="Right" RecognizesAccessKey="True"
|
|
Margin="10 0" TextBlock.FontWeight="UltraBold"
|
|
TextBlock.Foreground="#bb86fc"
|
|
TextBlock.FontSize="11"/>
|
|
<ContentPresenter Margin="4" Grid.Row="1" />
|
|
</Grid>
|
|
</Border>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
</ResourceDictionary>
|
|
</UserControl.Resources>
|
|
<behavior:Interaction.Triggers>
|
|
<behavior:PropertyChangedTrigger Binding="{Binding IsVisible, ElementName=uc}">
|
|
<behavior:InvokeCommandAction Command="{Binding CMD_VisibleChanged}" CommandParameter="{Binding IsVisible, ElementName=uc}"/>
|
|
</behavior:PropertyChangedTrigger>
|
|
</behavior:Interaction.Triggers>
|
|
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="5*"/>
|
|
<RowDefinition Height="0.5*"/>
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="1.1*"/>
|
|
<ColumnDefinition Width="2*"/>
|
|
<ColumnDefinition Width="3.5*"/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<Grid Grid.Row="0" Grid.Column="0">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="*"/>
|
|
</Grid.RowDefinitions>
|
|
|
|
<!-- 레이저가 몇개일지 알수 없다. 콤보박스 같은걸로 추후 변경 필요 -->
|
|
<!-- 따라서, 조작을 못하도록 Disabled 처리함
|
|
IsEnabled="{Binding IsLaserDeviceSwitchEnabled}"
|
|
-->
|
|
<mah:ToggleSwitch Grid.Row="0"
|
|
HorizontalAlignment="Center"
|
|
IsEnabled="False"
|
|
IsOn="{Binding IsLaser1}"
|
|
OffContent="Laser 0"
|
|
OnContent="Laser 1"/>
|
|
<GroupBox Grid.Row="1" Header="Power Meter" FontSize="11" Margin="0 0 3 3">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="2*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<GroupBox Grid.Row="0" Grid.Column="0" Margin="0 0 10 0"
|
|
Header="Power Meter Info" Style="{StaticResource StGBContent}">
|
|
<TextBlock Text="{Binding PowerMeterInfo}"/>
|
|
</GroupBox>
|
|
|
|
<Button Grid.Column="1"
|
|
FontSize="12" Content="Zero Sensor" Margin="0 4 5 4" Padding="5" Style="{StaticResource StButtonAccent}"
|
|
IsEnabled="{Binding IsPowerMeterZeroEnabled}"
|
|
Command="{Binding CMD_PowerMeterSetZero}" HorizontalAlignment="Stretch"/>
|
|
|
|
<GroupBox Grid.Row="1" Grid.ColumnSpan="2"
|
|
Style="{StaticResource StGBMonitor}" Header="Power Meter">
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
|
|
<TextBlock Text="{Binding PowerMeterWatt}" Grid.Column="0" HorizontalAlignment="Right" Margin="10,5,0,0" FontSize="20"/>
|
|
<TextBlock Text="W" Grid.Column="1" Margin="10,5,0,0" FontSize="10"/>
|
|
</StackPanel>
|
|
</GroupBox>
|
|
</Grid>
|
|
</GroupBox>
|
|
|
|
<GroupBox Grid.Row="2" Header="Laser" FontSize="11" Margin="0 0 3 3">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<GroupBox Style="{StaticResource StGBMonitor}" Header="Target Power">
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
|
|
<TextBlock Text="{Binding LaserTargetPower}" Grid.Column="0" HorizontalAlignment="Right" Margin="10,5,0,0" FontSize="20"/>
|
|
<TextBlock Text="%" Grid.Column="1" Margin="10,5,0,0" FontSize="10"/>
|
|
</StackPanel>
|
|
</GroupBox>
|
|
<GroupBox Grid.Column="1"
|
|
Style="{StaticResource StGBMonitor}" Header="Actual Power">
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
|
|
<TextBlock Text="{Binding LaserActualPower}" Grid.Column="0" HorizontalAlignment="Right" Margin="10,5,0,0" FontSize="20"/>
|
|
<TextBlock Text="%" Grid.Column="1" Margin="10,5,0,0" FontSize="10"/>
|
|
</StackPanel>
|
|
</GroupBox>
|
|
|
|
</Grid>
|
|
</GroupBox>
|
|
|
|
<GroupBox Grid.Row="3" Header="Setting" FontSize="11" Margin="0 0 3 3"
|
|
IsEnabled="{Binding IsEnabled}">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="*"/>
|
|
</Grid.RowDefinitions>
|
|
|
|
<usercontrols:UCNumericUpDown KeyText="Start Delay" Unit="ms" Value="{Binding ElementName=uc, Path=DataContext.StartDelay}"
|
|
Increment="100" Maximum="5000" Minimum="100"
|
|
DecimalPlaces="0"/>
|
|
<usercontrols:UCNumericUpDown Grid.Row="1"
|
|
KeyText="Measurement Delay" Unit="ms" Value="{Binding ElementName=uc, Path=DataContext.MeasurementDelay}"
|
|
Increment="100" Maximum="5000" Minimum="100"/>
|
|
<usercontrols:UCNumericUpDown Grid.Row="2"
|
|
KeyText="Begin Power" Unit="%" Value="{Binding ElementName=uc, Path=DataContext.BeginPowerPerc}"
|
|
DecimalPlaces="1"/>
|
|
<usercontrols:UCNumericUpDown Grid.Row="3"
|
|
KeyText="End Power" Unit="%" Value="{Binding ElementName=uc, Path=DataContext.EndPowerPerc}"
|
|
DecimalPlaces="1"/>
|
|
<usercontrols:UCNumericUpDown Grid.Row="4"
|
|
KeyText="Measurement Step" Unit="%" Value="{Binding ElementName=uc, Path=DataContext.MeasurementStepPerc}"
|
|
Increment="0.1" Maximum="5" Minimum="0.1"
|
|
DecimalPlaces="1"/>
|
|
|
|
</Grid>
|
|
</GroupBox>
|
|
|
|
<GroupBox Grid.Row="4" Header="Manual Test" FontSize="11" Margin="0 0 3 0"
|
|
Style="{StaticResource StGroupBoxLaserCalib}"
|
|
IsEnabled="{Binding IsEnabled}">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="*"/>
|
|
</Grid.RowDefinitions>
|
|
<Grid Grid.Row="0">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="*"/>
|
|
</Grid.RowDefinitions>
|
|
|
|
<TextBlock Text="Power Calib. Selector" FontSize="15"/>
|
|
|
|
<ListBox Grid.Row="1"
|
|
ItemsSource="{Binding CalibModelList}"
|
|
SelectedItem="{Binding SelectedCalibModelItem}"
|
|
SelectionMode="Single"
|
|
|
|
ScrollViewer.VerticalScrollBarVisibility="Hidden"
|
|
ScrollViewer.HorizontalScrollBarVisibility="Hidden"
|
|
HorizontalAlignment="Center"
|
|
Padding="-2">
|
|
<!-- ListBox 템플릿을 보면, ListBoxItem 에 패딩 2 가 있다. 일단 위의 방식으로 Disabled 시, 하얀 윤곽선 제거 -->
|
|
|
|
<ListBox.ItemsPanel>
|
|
<ItemsPanelTemplate>
|
|
<!-- Disabled 시 하얀색을 제거하기위해, Background 추가 -->
|
|
<!-- <StackPanel Orientation="Horizontal" Background="#1e1e1e"/> -->
|
|
<StackPanel Orientation="Horizontal"/>
|
|
</ItemsPanelTemplate>
|
|
</ListBox.ItemsPanel>
|
|
<ListBox.ItemContainerStyle>
|
|
<Style TargetType="{x:Type ListBoxItem}">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type ListBoxItem}">
|
|
<!-- IsChecked="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=IsSelected}" -->
|
|
<RadioButton GroupName="PowerCalibSelector"
|
|
Content="{Binding Id}"
|
|
IsChecked="{Binding IsSelected}"
|
|
Margin="5 0"
|
|
mah:RadioButtonHelper.OuterEllipseCheckedStroke="{DynamicResource BLGRedCustomDark}"
|
|
mah:RadioButtonHelper.OuterEllipseCheckedStrokePointerOver="{DynamicResource BLGRed}"/>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="IsEnabled" Value="{Binding IsEnabledRadio}"/>
|
|
<!--
|
|
<Setter Property="Background" Value="Orange"/>
|
|
<Setter Property="BorderBrush" Value="Red"/>
|
|
<Setter Property="Padding" Value="0"/>
|
|
<Style.Triggers>
|
|
<Trigger Property="IsEnabled" Value="False">
|
|
<Setter Property="Foreground" Value="Orange"/>
|
|
<Setter Property="Background" Value="Orange"/>
|
|
</Trigger>
|
|
</Style.Triggers>
|
|
-->
|
|
|
|
</Style>
|
|
</ListBox.ItemContainerStyle>
|
|
</ListBox>
|
|
</Grid>
|
|
|
|
<Grid Grid.Row="1">
|
|
<GroupBox Header="Laser Power [W]" Style="{StaticResource StGBContentNumericUpDown}">
|
|
<Grid Grid.Row="0">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="2*"/>
|
|
<ColumnDefinition Width="1*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<usercontrols:UCNumericUpDown Grid.Row="1" Grid.Column="0"
|
|
KeyText="" Unit="W" Value="{Binding ElementName=uc, Path=DataContext.LaserTargetPowerWatt}"
|
|
DecimalPlaces="3"/>
|
|
<Button Grid.Row="1" Grid.Column="1"
|
|
Content="Set" Margin="5 2 1 3"
|
|
Style="{StaticResource StButtonAccent}"
|
|
IsEnabled="{Binding IsLaserTargetPowerWattSetEnabled}"
|
|
Command="{Binding CMD_LaserTargetPowerWattSet}"/>
|
|
|
|
</Grid>
|
|
</GroupBox>
|
|
|
|
</Grid>
|
|
<Grid Grid.Row="2">
|
|
<GroupBox Header="Laser Power [%]" Style="{StaticResource StGBContentNumericUpDown}">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="2*"/>
|
|
<ColumnDefinition Width="1*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<usercontrols:UCNumericUpDown Grid.Column="0"
|
|
KeyText="" Unit="%" Value="{Binding ElementName=uc, Path=DataContext.LaserTargetPower}"
|
|
DecimalPlaces="1"/>
|
|
<Button Grid.Column="1"
|
|
Content="Set" Margin="5 2 1 3"
|
|
Style="{StaticResource StButtonAccent}"
|
|
IsEnabled="{Binding IsLaserTargetPowerSetEnabled}"
|
|
Command="{Binding CMD_LaserTargetPowerSet}"/>
|
|
</Grid>
|
|
</GroupBox>
|
|
|
|
</Grid>
|
|
|
|
</Grid>
|
|
</GroupBox>
|
|
</Grid>
|
|
|
|
<!-- Data grid & graph for measured data display -->
|
|
<Grid Grid.Row="0" Grid.Column="1"
|
|
IsEnabled="{Binding IsEnabled}">
|
|
<Border Margin="0 0 7 0" Style="{StaticResource StGroupBorder}">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition/>
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Center"
|
|
Grid.ColumnSpan="2"
|
|
Foreground="#dddddd" Margin="0 5 0 0"
|
|
FontSize="20" FontWeight="Bold"
|
|
Text="Laser Power Calib. Data"/>
|
|
<Button HorizontalAlignment="Right" Margin="5"
|
|
Grid.ColumnSpan="2"
|
|
Height="40" Padding="20 0"
|
|
IsEnabled="{Binding IsCopyFromCurrent2NewEnabled}"
|
|
Command="{Binding CMD_CopyFromCurernt2New}"
|
|
VerticalContentAlignment="Center"
|
|
HorizontalContentAlignment="Center"
|
|
Style="{StaticResource StButtonAccent}">
|
|
<TextBlock VerticalAlignment="Center">
|
|
<Run Text="{Binding [Copy], Source={StaticResource langTokens}, Mode=OneWay}"/>
|
|
<Run Text=" →"/>
|
|
</TextBlock>
|
|
</Button>
|
|
|
|
<DataGrid Grid.Row="1" ItemsSource="{Binding CurrentCalibData}" Margin="5 15 2 15"
|
|
AutoGenerateColumns="False" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"
|
|
CanUserAddRows="False" CanUserDeleteRows="False" IsReadOnly="True" CanUserSortColumns="false"
|
|
BorderThickness="1"
|
|
DataGrid.RowStyle ="{StaticResource RowStyle}" ColumnHeaderStyle="{StaticResource StDataGridHeaderStyle}"
|
|
HeadersVisibility="Column" SelectionChanged="DataGrid_SelectionChanged">
|
|
<DataGrid.Columns>
|
|
<DataGridTextColumn Width="0.8*" Header="{Binding [LaserInputPower_Perc], Source={StaticResource langTokens}}" Binding="{Binding PowerPerc, StringFormat={}{0:0.0}}" />
|
|
<DataGridTextColumn Width="1*" Header="{Binding [LaserPrevCalibData_W], Source={StaticResource langTokens}}" Binding="{Binding PowerWatt, StringFormat={}{0:0.000}}"/>
|
|
</DataGrid.Columns>
|
|
</DataGrid>
|
|
|
|
<DataGrid Grid.Row="1" Grid.Column="1" ItemsSource="{Binding NewCalibData}" Margin="5 15 2 15"
|
|
AutoGenerateColumns="False" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"
|
|
CanUserAddRows="False" CanUserDeleteRows="False" IsReadOnly="True" CanUserSortColumns="false"
|
|
BorderThickness="1"
|
|
DataGrid.RowStyle ="{StaticResource RowStyle}" ColumnHeaderStyle="{StaticResource StDataGridHeaderStyle}"
|
|
HeadersVisibility="Column"
|
|
SelectedIndex="{Binding NewSelectedIndex}"
|
|
SelectionChanged="SelectionItemChanged"
|
|
|
|
>
|
|
<!--
|
|
SelectedIndex="{Binding NewSelectedIndex}"
|
|
SelectedItem="{Binding NewSelectedItem}"
|
|
SelectionChanged="SelectionItemChanged"
|
|
-->
|
|
|
|
<DataGrid.Columns>
|
|
<DataGridTextColumn Width="0.8*" Header="{Binding [LaserInputPower_Perc], Source={StaticResource langTokens}}" Binding="{Binding PowerPerc, StringFormat={}{0:0.0}}" />
|
|
<DataGridTextColumn Width="1*" Header="{Binding [LaserNewCalibData_W], Source={StaticResource langTokens}}" Binding="{Binding PowerWatt, StringFormat={}{0:0.000}}"/>
|
|
</DataGrid.Columns>
|
|
</DataGrid>
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
|
|
<Grid Grid.Column="2" Grid.RowSpan="2"
|
|
IsEnabled="{Binding IsEnabled}">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="30"/>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="110"/>
|
|
</Grid.RowDefinitions>
|
|
|
|
<StackPanel Orientation="Horizontal" Margin="10 0 0 0">
|
|
<Button Margin="0 3 5 0" Padding="5" Style="{StaticResource StButtonAccent}"
|
|
FontSize="12" Content="Reset"
|
|
Command="{Binding CMD_PlotZoomReset}"/>
|
|
|
|
<Button Margin="5 3 5 0" Padding="5" Style="{StaticResource StButtonAccent}"
|
|
FontSize="12" Content="X-Y Switch"
|
|
IsEnabled="{Binding IsAxesSwitchEnabled}"
|
|
Command="{Binding CMD_AxesSwitch}"/>
|
|
|
|
<TextBlock Margin="5 0 0 0" Text="Plot Visible:"/>
|
|
<ItemsControl ItemsSource="{Binding PlotList}">
|
|
<ItemsControl.ItemsPanel>
|
|
<ItemsPanelTemplate>
|
|
<StackPanel Orientation="Horizontal"/>
|
|
</ItemsPanelTemplate>
|
|
</ItemsControl.ItemsPanel>
|
|
<ItemsControl.ItemTemplate>
|
|
<DataTemplate>
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
<CheckBox IsChecked="{Binding IsSelected}" Margin="10 0 5 0" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
|
<TextBlock Grid.Column="1" Margin="2 0 2 0"
|
|
Foreground="White" VerticalAlignment="Center"
|
|
Text="{Binding PlotName}"/>
|
|
</Grid>
|
|
</DataTemplate>
|
|
</ItemsControl.ItemTemplate>
|
|
</ItemsControl>
|
|
<!--
|
|
<Button Margin="5 3 2 0" Padding="5" Style="{StaticResource StButtonAccent}"
|
|
FontSize="12" Content="Clear Test"
|
|
Command="{Binding CMD_ClearTestPlot}"/>
|
|
-->
|
|
</StackPanel>
|
|
|
|
<Grid Grid.Row="1">
|
|
<lvc:CartesianChart Series="{Binding Series}"
|
|
XAxes="{Binding XAxes}"
|
|
YAxes="{Binding YAxes}"
|
|
LegendPosition="Right"
|
|
LegendTextPaint="{Binding LegendTextPaint}"
|
|
ZoomMode="Both"
|
|
TooltipFindingStrategy="CompareOnlyXTakeClosest"
|
|
|
|
EasingFunction="{x:Null}"
|
|
/>
|
|
<!--
|
|
EasingFunction="{x:Null}"
|
|
EasingFunction="{Binding Source={x:Static lvcore:EasingFunctions.ExponentialOut}}"
|
|
UpdaterThrottler="00:00:00.030"
|
|
-->
|
|
|
|
</Grid>
|
|
<Grid Grid.Row="2">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="1.3*"/>
|
|
<ColumnDefinition Width="0.7*"/>
|
|
<ColumnDefinition Width="1.5*"/>
|
|
<ColumnDefinition Width="1*"/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<GroupBox Grid.Column="0" Header="Calib Option" FontSize="11" Margin="0 0 3 3">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="3*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<usercontrols:UCKeyValue Grid.Row="0" Grid.Column="0"
|
|
KeyText="Threshold" Unit="W" Value="{Binding ElementName=uc, Path=DataContext.Threshold}"
|
|
DecimalPlaces="2"
|
|
ShowKeypad="False"/>
|
|
<Button Grid.Row="0" Grid.Column="1"
|
|
FontSize="12" Content="Set" Style="{StaticResource StButtonAccent}"
|
|
VerticalAlignment="Stretch"
|
|
IsEnabled="{Binding IsThresholdSetEnabled}"
|
|
Command="{Binding CMD_SetROI}"/>
|
|
|
|
<mah:ToggleSwitch Grid.Row="1" Grid.ColumnSpan="2"
|
|
IsEnabled="{Binding IsSegmentToggleSwitchEnabled}"
|
|
IsOn="{Binding IsTwoSegment}"
|
|
OffContent="One Segment"
|
|
OnContent="Two Segment"/>
|
|
</Grid>
|
|
</GroupBox>
|
|
|
|
<Grid Grid.Column="1">
|
|
<Button FontSize="12" Content="Calib. Solve" Margin="0 3 2 7" Padding="5"
|
|
Command="{Binding CMD_SolveModel}">
|
|
<Button.Style>
|
|
<Style TargetType="Button" BasedOn="{StaticResource StButtonAccent}">
|
|
<Setter Property="IsEnabled" Value="False"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding CanEstimation}" Value="True">
|
|
<Setter Property="IsEnabled" Value="True"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Button.Style>
|
|
</Button>
|
|
|
|
</Grid>
|
|
|
|
<GroupBox Grid.Column="2" Header="Calib Result" FontSize="11" Margin="0 0 3 3">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="2*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<TextBlock Grid.Row="0"
|
|
Style="{StaticResource StKeyTB}"
|
|
HorizontalAlignment="Left"
|
|
Text="{Binding Model1Result}"/>
|
|
<TextBlock Grid.Row="0" Grid.Column="1" Margin="5 0 0 0"
|
|
HorizontalAlignment="Left">
|
|
<TextBlock.Style>
|
|
<Style TargetType="TextBlock" BasedOn="{StaticResource {x:Type TextBlock}}">
|
|
<Setter Property="Text" Value="Y = [0, 100]"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding IsTwoSegment}" Value="True">
|
|
<Setter Property="Text" Value="Y = [0, 50)"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBlock.Style>
|
|
</TextBlock>
|
|
|
|
<TextBlock Grid.Row="1"
|
|
HorizontalAlignment="Left"
|
|
Text="{Binding Model2Result}">
|
|
<TextBlock.Style>
|
|
<Style TargetType="TextBlock" BasedOn="{StaticResource StKeyTB}">
|
|
<Setter Property="Visibility" Value="Collapsed"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding IsTwoSegment}" Value="True">
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBlock.Style>
|
|
</TextBlock>
|
|
|
|
<TextBlock Grid.Row="1" Grid.Column="1" Margin="5 0 0 0"
|
|
HorizontalAlignment="Left"
|
|
Text="Y = [50, 100]">
|
|
<TextBlock.Style>
|
|
<Style TargetType="TextBlock" BasedOn="{StaticResource {x:Type TextBlock}}">
|
|
<Setter Property="Visibility" Value="Hidden"/>
|
|
<!-- <Setter Property="Text" Value=""/> -->
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding IsTwoSegment}" Value="True">
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
<!-- <Setter Property="Text" Value="X = [50, 100]"/> -->
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBlock.Style>
|
|
</TextBlock>
|
|
|
|
</Grid>
|
|
</GroupBox>
|
|
|
|
<!--
|
|
<GroupBox Grid.Column="3" Header="Calib Validation" FontSize="11" Margin="0 0 3 3">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="2*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<uiComponent:UCKeyValueDouble Grid.Row="0" Grid.Column="0" KeyText="LUT" Unit="W" ValueText="{Binding ElementName=uc, Path=DataContext.TestLUTWatt}"/>
|
|
<Button Grid.Row="0" Grid.Column="1"
|
|
FontSize="12" Content="Set" Style="{StaticResource StButtonAccent}"
|
|
VerticalAlignment="Stretch"
|
|
Command="{Binding CMD_SetTestLUTWatt}"/>
|
|
|
|
<uiComponent:UCKeyValueDouble Grid.Row="1" Grid.Column="0" KeyText="Model" Unit="W" ValueText="{Binding ElementName=uc, Path=DataContext.TestModelWatt}"/>
|
|
<Button Grid.Row="1" Grid.Column="1"
|
|
FontSize="12" Content="Set" Style="{StaticResource StButtonAccent}"
|
|
VerticalAlignment="Stretch"
|
|
Command="{Binding CMD_SetTestModelWatt}"/>
|
|
|
|
<TextBox Grid.Row="0" Grid.Column="2" FontSize="12" IsReadOnly="True" TextAlignment="Center"
|
|
Text="{Binding TestLUTPerc, StringFormat={}{0:0.000}}"/>
|
|
<TextBlock Text="%" FontSize="11" Grid.Column="2" HorizontalAlignment="Right" Margin="0 0 6 0" Foreground="#c0c0c0"/>
|
|
|
|
<TextBox Grid.Row="1" Grid.Column="2" FontSize="12" IsReadOnly="True" TextAlignment="Center"
|
|
Text="{Binding TestModelPerc, StringFormat={}{0:0.000}}"/>
|
|
<TextBlock Grid.Row="1" Grid.Column="2"
|
|
Text="%" FontSize="11" HorizontalAlignment="Right" Margin="0 0 6 0" Foreground="#c0c0c0"/>
|
|
|
|
<Button Grid.Row="0" Grid.Column="3"
|
|
FontSize="12" Content="Add" Margin="0 3 2 0" Padding="5" Style="{StaticResource StButtonAccent}"
|
|
IsEnabled="{Binding IsAddPlotPointEnabled}"
|
|
Command="{Binding CMD_AddPlotPoint}"/>
|
|
<Button Grid.Row="1" Grid.Column="3"
|
|
FontSize="12" Content="Del" Margin="0 3 2 0" Padding="5" Style="{StaticResource StButtonAccent}"
|
|
IsEnabled="{Binding IsDelPlotPointEnabled}"
|
|
Command="{Binding CMD_DelPlotPoint}"/>
|
|
</Grid>
|
|
</GroupBox>
|
|
-->
|
|
</Grid>
|
|
</Grid>
|
|
|
|
<Grid Grid.Row="1" Grid.ColumnSpan="2"
|
|
IsEnabled="{Binding IsEnabled}">
|
|
<StackPanel Orientation="Horizontal"
|
|
HorizontalAlignment="Center"
|
|
Margin="5">
|
|
<Button FontSize="12" Content="Measure Start" Margin="0 3 5 3" Padding="5" Style="{StaticResource StButtonAccent}"
|
|
IsEnabled="{Binding IsLaserPowerMeasureStartEnabled}"
|
|
Command="{Binding CMD_LaserPowerMeasureStart}"/>
|
|
<Button FontSize="12" Content="Measure Stop" Margin="0 3 35 3" Padding="5" Style="{StaticResource StButtonAccent}"
|
|
IsEnabled="{Binding IsLaserPowerMeasureStopEnabled}"
|
|
Command="{Binding CMD_LaserPowerMeasureStop}"/>
|
|
|
|
<Button FontSize="12" Content="Save & Apply" Margin="30 3 5 3" Padding="5" Style="{StaticResource StButtonAccent}"
|
|
IsEnabled="{Binding IsSaveApplyEnabled}"
|
|
Command="{Binding CMD_SaveApply}"/>
|
|
<Button FontSize="12" Content="Save (CSV)" Margin="0 3 10 3" Padding="5" Style="{StaticResource StButtonAccent}"
|
|
IsEnabled="{Binding IsSaveAsCSVEnabled}"
|
|
Command="{Binding CMD_SaveAsCSV}"/>
|
|
</StackPanel>
|
|
</Grid>
|
|
</Grid>
|
|
</UserControl>
|