2026-06-05 13:44:39 +09:00

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 &amp; 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>