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

216 lines
13 KiB
XML

<UserControl x:Class="VisionUI.Setup.AutoFocusView"
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:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:dxc="http://schemas.devexpress.com/winfx/2008/xaml/charts"
xmlns:local="clr-namespace:VisionUI.Setup"
xmlns:view="clr-namespace:Aurora.View;assembly=Aurora"
dx:ThemeManager.Theme="VS2019Dark"
IsVisibleChanged="UserControl_IsVisibleChanged"
d:DataContext="{d:DesignInstance Type=local:AutoFocusViewModel}"
mc:Ignorable="d">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<view:SharedResourceDictionary Source="pack://application:,,,/VisionCommonUI;component/Styles/VisionResources.xaml"/>
<view:SharedResourceDictionary Source="pack://application:,,,/AuroraUIComponent;component/Style/GroupBox.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid x:Name="gridCameraView" Grid.Column="0"/>
<Grid Grid.Column="1">
<Grid.RowDefinitions>
<RowDefinition Height="1.5*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<!--AutoFocus Graph-->
<Grid Grid.Row="0">
<GroupBox FontSize="15">
<GroupBox.Header>
<TextBlock Style="{StaticResource styleGroupBoxHeaderTextBlock}">
<Run Text="{Binding [Graph], Source={StaticResource langTokens}, Mode=OneWay}"/>
<Run Text="("/>
<Run Text="{Binding [Sharpness], Source={StaticResource langTokens}, Mode=OneWay}"/>
<Run Text="/"/>
<Run Text="{Binding [Step], Source={StaticResource langTokens}, Mode=OneWay}"/>
<Run Text=")"/>
</TextBlock>
</GroupBox.Header>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="3*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<!--Graph-->
<Grid Grid.Row="0">
<dxc:ChartControl x:Name="graphAutoFocus">
<dxc:XYDiagram2D EnableAxisXNavigation="True">
<dxc:XYDiagram2D.AxisX>
<dxc:AxisX2D GridLinesVisible="True">
<dxc:AxisX2D.WholeRange>
<dxc:Range AutoSideMargins="True" MinValue="0"/>
</dxc:AxisX2D.WholeRange>
</dxc:AxisX2D>
</dxc:XYDiagram2D.AxisX>
<dxc:XYDiagram2D.NavigationOptions>
<dxc:NavigationOptions
UseKeyboard="True"
UseScrollBars="True"
UseMouse="True"
UseTouchDevice="True"/>
</dxc:XYDiagram2D.NavigationOptions>
<dxc:LineSeries2D DataSource="{Binding AutoFocusLogItems_Roughly}"
MarkerSize="8" MarkerVisible="True"
ArgumentScaleType="Auto"
ArgumentDataMember="Step"
ValueDataMember="Sharpness">
<dxc:LineSeries2D.MarkerModel>
<dxc:CircleMarker2DModel/>
</dxc:LineSeries2D.MarkerModel>
</dxc:LineSeries2D>
<dxc:LineSeries2D DataSource="{Binding AutoFocusLogItems_Delicately}"
MarkerSize="8" MarkerVisible="True"
ArgumentScaleType="Auto"
ArgumentDataMember="Step"
ValueDataMember="Sharpness">
<dxc:LineSeries2D.MarkerModel>
<dxc:CircleMarker2DModel/>
</dxc:LineSeries2D.MarkerModel>
</dxc:LineSeries2D>
</dxc:XYDiagram2D>
</dxc:ChartControl>
</Grid>
<!--AutoFocus Buttons-->
<Grid Grid.Row="1">
<StackPanel Orientation="Horizontal" Margin="5,0,5,0">
<!--Set Find Roi Button-->
<Button x:Name="btnSetFindRoi"
Style="{StaticResource styleBtnProc}"
Command="{Binding ButtonCommandSetFindRoi}">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock Style="{StaticResource StRegisterPatternTextBlock}">
<Run Text="{Binding [Sharpness], Source={StaticResource langTokens}, Mode=OneWay}"/>
<Run Text="{Binding [ROI], Source={StaticResource langTokens}, Mode=OneWay}"/>
</TextBlock>
</StackPanel>
</Button>
<!--Start Button-->
<Button x:Name="btnStart"
Style="{StaticResource styleBtnProc}"
Command="{Binding ButtonCommandStart}">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock Style="{StaticResource StRegisterPatternTextBlock}">
<Run Text="{Binding [Start], Source={StaticResource langTokens}, Mode=OneWay}"/>
</TextBlock>
</StackPanel>
</Button>
<!--Stop Button-->
<Button x:Name="btnStop"
Style="{StaticResource styleBtnProc}"
Command="{Binding ButtonCommandCancel}">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock Style="{StaticResource StRegisterPatternTextBlock}">
<Run Text="{Binding [Stop], Source={StaticResource langTokens}, Mode=OneWay}"/>
</TextBlock>
</StackPanel>
</Button>
<!--Save Roi Button-->
<Button x:Name="btnSaveParams"
Style="{StaticResource styleBtnProc}"
Command="{Binding ButtonCommandSaveParams}">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock Style="{StaticResource StRegisterPatternTextBlock}">
<Run Text="{Binding [Save], Source={StaticResource langTokens}, Mode=OneWay}"/>
<Run Text="{Binding [Params], Source={StaticResource langTokens}, Mode=OneWay}"/>
</TextBlock>
</StackPanel>
</Button>
</StackPanel>
</Grid>
</Grid>
</GroupBox>
</Grid>
<!--AutoFocus Log-->
<Grid Grid.Row="1">
<GroupBox FontSize="15">
<GroupBox.Header>
<TextBlock Style="{StaticResource styleGroupBoxHeaderTextBlock}">
<Run Text="{Binding [Log], Source={StaticResource langTokens}, Mode=OneWay}"/>
</TextBlock>
</GroupBox.Header>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<DatePicker Grid.Row="0" Name="CalendarDatePicker" HorizontalAlignment="Right"
Height="30"
TextElement.FontSize="12"
TextElement.FontWeight="Bold"
BorderBrush="Transparent"
VerticalAlignment="Center"
VerticalContentAlignment="Center"
ToolTip="Select a date that you want to load."
CalendarStyle="{StaticResource styleCalendar}"
SelectedDate="{Binding Path=SelectedDate, Mode=TwoWay}"/>
<DockPanel Grid.Row="1" Margin="5">
<DataGrid ItemsSource="{Binding Path=AutoFocusLogItems, Mode=TwoWay,
NotifyOnSourceUpdated=True, NotifyOnTargetUpdated=True}"
ScrollViewer.CanContentScroll="True"
ScrollViewer.VerticalScrollBarVisibility="Auto"
AutoGenerateColumns="False"
CanUserAddRows="False"
CanUserDeleteRows="False"
FontSize="14"
IsReadOnly="True"
x:Name="dataGridAutoFocus">
<DataGrid.Columns>
<DataGridTextColumn Header="Time" Binding="{Binding Time}" CellStyle="{StaticResource ResourceKey=CellCenter}"/>
<DataGridTextColumn Header="Step" Binding="{Binding Step}" CellStyle="{StaticResource ResourceKey=CellCenter}"/>
<DataGridTextColumn Header="Mode" Binding="{Binding Mode}" CellStyle="{StaticResource ResourceKey=CellCenter}"/>
<DataGridTextColumn Header="Z Position[mm]" Binding="{Binding PosZ}" CellStyle="{StaticResource ResourceKey=CellCenter}"/>
<DataGridTextColumn Header="Sharpness" Binding="{Binding Sharpness}" CellStyle="{StaticResource ResourceKey=CellCenter}"/>
</DataGrid.Columns>
</DataGrid>
</DockPanel>
</Grid>
</GroupBox>
</Grid>
<!--AutoFocus Result-->
<Grid Grid.Row="2">
<GroupBox FontSize="15">
<GroupBox.Header>
<TextBlock Style="{StaticResource styleGroupBoxHeaderTextBlock}">
<Run Text="{Binding [Params], Source={StaticResource langTokens}, Mode=OneWay}"/>
</TextBlock>
</GroupBox.Header>
<ScrollViewer VerticalScrollBarVisibility="Auto">
<view:PropertyGridEx SelectedObject="{Binding AutoFocusRecipe}" FontSize="14" Margin="5"/>
</ScrollViewer>
</GroupBox>
</Grid>
</Grid>
</Grid>
</UserControl>