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

152 lines
11 KiB
XML

<UserControl x:Class="WeldingCommon.Views.UCScannerMotion"
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:local="clr-namespace:WeldingCommon.Views"
xmlns:behavior="http://schemas.microsoft.com/xaml/behaviors"
xmlns:view="clr-namespace:Aurora.View;assembly=Aurora"
xmlns:mah="http://metro.mahapps.com/winfx/xaml/controls"
xmlns:aurorauicomponent="clr-namespace:AuroraUIComponent;assembly=AuroraUIComponent"
xmlns:usercontrols="clr-namespace:AuroraUIComponent.UserControls;assembly=AuroraUIComponent"
d:DataContext="{d:DesignInstance Type=local:UCScannerMotionViewModel}"
mc:Ignorable="d"
d:DesignHeight="400" d:DesignWidth="600" x:Name="uc">
<UserControl.Resources>
<ResourceDictionary>
<view:BoolConverter x:Key="convWorkConverter" FalseValue="Not Work" TrueValue="Work"/>
</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="auto"></RowDefinition>
<RowDefinition Height="auto"></RowDefinition>
<RowDefinition Height="auto"></RowDefinition>
</Grid.RowDefinitions>
<Grid Grid.Row="0" Margin="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<GroupBox Header="X[mm]" Style="{StaticResource StGBMonitor}" Margin="0 0 3 3">
<TextBlock FontSize="18" FontWeight="Bold" HorizontalAlignment="Center" VerticalAlignment="Center" Text="{Binding ScannerXPos, StringFormat={}{0:0.000000}}"/>
</GroupBox>
<GroupBox Grid.Column="1" Header="Y[mm]" Style="{StaticResource StGBMonitor}" Margin="3 0 3 3" >
<TextBlock FontSize="18" FontWeight="Bold" HorizontalAlignment="Center" VerticalAlignment="Center" Text="{Binding ScannerYPos, StringFormat={}{0:0.000000}}"/>
</GroupBox>
<GroupBox Grid.Column="2" Header="Status" Style="{StaticResource StGBMonitor}" Margin="3 0 3 3" >
<TextBlock FontSize="18" FontWeight="Bold" HorizontalAlignment="Center" VerticalAlignment="Center" Text="{Binding IsScannerBusy, Converter={StaticResource convWorkConverter}}"/>
</GroupBox>
</Grid>
<GroupBox Grid.Row="1" Header="Scanner Motion" Margin="0 3 3 0">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="230"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="auto"></RowDefinition>
<RowDefinition Height="230"></RowDefinition>
</Grid.RowDefinitions>
<Grid Grid.Row="0" Grid.Column="0" Margin="5">
<usercontrols:UCKeyValue KeyText="Step Value" Value="{Binding StepValue}" DecimalPlaces="3" Unit="mm" KeyHorizontalAlignment="Right" KeyTextWidth="0.9*" />
</Grid>
<Grid Grid.Row="1" Grid.Column="0" Margin="20 5 15 5">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Button Grid.Row="0" Grid.Column="1" FontWeight="Bold" Margin="2" BorderBrush="#1e1e1e" Command="{Binding CMD_JogMove}" CommandParameter="Up">▲</Button>
<Button Grid.Row="1" Grid.Column="0" FontWeight="Bold" Margin="2" BorderBrush="#1e1e1e" Command="{Binding CMD_JogMove}" CommandParameter="Left">◀</Button>
<Button Grid.Row="1" Grid.Column="1" FontWeight="Bold" Margin="2" BorderBrush="#1e1e1e" Command="{Binding CMD_JogMove}" CommandParameter="Home">⌂</Button>
<Button Grid.Row="1" Grid.Column="2" FontWeight="Bold" Margin="2" BorderBrush="#1e1e1e" Command="{Binding CMD_JogMove}" CommandParameter="Right">▶</Button>
<Button Grid.Row="2" Grid.Column="1" FontWeight="Bold" Margin="2" BorderBrush="#1e1e1e" Command="{Binding CMD_JogMove}" CommandParameter="Down">▼</Button>
</Grid>
<Grid Grid.Row="0" Grid.Column="1" Grid.RowSpan="2" Margin="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="3*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"></RowDefinition>
<RowDefinition Height="1*"></RowDefinition>
<RowDefinition Height="0.3*"></RowDefinition>
<RowDefinition Height="2*"></RowDefinition>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" Style="{StaticResource StGuideTB}" VerticalAlignment="Center">Motion Speed</TextBlock>
<TextBlock Grid.Row="1" Grid.Column="0" Style="{StaticResource StGuideTB}" VerticalAlignment="Center">Motion Mode</TextBlock>
<Grid Grid.Row="0" Grid.Column="1" Margin="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<RadioButton Grid.Column="0" Command="{Binding CMD_SpeedChanged}" CommandParameter="Low"
Style="{StaticResource stRadio}" Content="LOW" Margin="3"/>
<RadioButton Grid.Column="1" Command="{Binding CMD_SpeedChanged}" CommandParameter="Mid"
Style="{StaticResource stRadio}" Content="MID" IsChecked="True" Margin="3"/>
<RadioButton Grid.Column="2" Command="{Binding CMD_SpeedChanged}" CommandParameter="High"
Style="{StaticResource stRadio}" Content="HIGH" Margin="3"/>
</Grid>
<Grid Grid.Row="1" Grid.Column="1" Margin="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<RadioButton Grid.Column="0" Command="{Binding CMD_MotionModeChanged}" CommandParameter="ABS"
Style="{StaticResource stRadio}" Content="ABS" Margin="3" IsChecked="True"/>
<RadioButton Grid.Column="1" Command="{Binding CMD_MotionModeChanged}" CommandParameter="REL"
Style="{StaticResource stRadio}" Content="REL" Margin="3"/>
</Grid>
<Grid Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2" Margin="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"></ColumnDefinition>
<ColumnDefinition Width="0.8*"></ColumnDefinition>
<ColumnDefinition Width="0.2*"></ColumnDefinition>
<ColumnDefinition Width="0.8*"></ColumnDefinition>
<ColumnDefinition Width="2*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"></RowDefinition>
<RowDefinition Height="1.5*"></RowDefinition>
<RowDefinition Height="1.5*"></RowDefinition>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Grid.Column="1" Foreground="White" TextAlignment="Center" FontSize="8" >MinLimit</TextBlock>
<TextBlock Grid.Row="1" Grid.Column="1" FontSize="8" Text="{Binding CommandPosLimitMinX, StringFormat={}{0:0.000}}" Foreground="Gray" HorizontalAlignment="Center" TextAlignment="Center"></TextBlock>
<TextBlock Grid.Row="2" Grid.Column="1" FontSize="8" Text="{Binding CommandPosLimitMinY, StringFormat={}{0:0.000}}" Foreground="Gray" HorizontalAlignment="Center" TextAlignment="Center"></TextBlock>
<TextBlock Grid.Row="0" Grid.Column="3" Foreground="White" TextAlignment="Center" FontSize="8" >MaxLimit</TextBlock>
<TextBlock Grid.Row="1" Grid.Column="3" FontSize="8" Text="{Binding CommandPosLimitMaxX, StringFormat={}{0:0.000}}" Foreground="Gray" HorizontalAlignment="Center" TextAlignment="Center"></TextBlock>
<TextBlock Grid.Row="2" Grid.Column="3" FontSize="8" Text="{Binding CommandPosLimitMaxY, StringFormat={}{0:0.000}}" Foreground="Gray" HorizontalAlignment="Center" TextAlignment="Center"></TextBlock>
<TextBlock Grid.Row="1" Grid.Column="2" Foreground="White" TextAlignment="Center" VerticalAlignment="Center" FontSize="10" Text="~"></TextBlock>
<TextBlock Grid.Row="2" Grid.Column="2" Foreground="White" TextAlignment="Center" VerticalAlignment="Center" FontSize="10" Text="~"></TextBlock>
<usercontrols:UCKeyValue Grid.Row="1" Grid.Column="0" KeyText="Axis X" Value="{Binding CommandPosX}" DecimalPlaces="3" Unit="mm" KeyHorizontalAlignment="Right" KeyTextWidth="0.6*" />
<usercontrols:UCKeyValue Grid.Row="2" Grid.Column="0" KeyText="Axis Y" Value="{Binding CommandPosY}" DecimalPlaces="3" Unit="mm" KeyHorizontalAlignment="Right" KeyTextWidth="0.6*" />
<UniformGrid Grid.Row="1" Grid.Column="4" Grid.RowSpan="2" Columns="2">
<Button Margin="3" Command="{Binding CMD_CommandPosMove}" CommandParameter="X" Content="Move X" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Height="auto" Style="{StaticResource StButtonAccentBlue}" />
<Button Margin="3" Command="{Binding CMD_CommandPosMove}" CommandParameter="Y" Content="Move Y" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Height="auto" Style="{StaticResource StButtonAccentBlue}" />
</UniformGrid>
</Grid>
</Grid>
</Grid>
</GroupBox>
</Grid>
</UserControl>