2026-01-26 18:56:53 +09:00

212 lines
12 KiB
XML

<UserControl x:Class="AuroraACS.Views.UCACSDeviceNormal"
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:AuroraACS.Views" xmlns:mah="http://metro.mahapps.com/winfx/xaml/controls"
xmlns:aurora="clr-namespace:Aurora.View;assembly=Aurora"
d:DataContext="{d:DesignInstance Type=local:UCACSDeviceViewModel}"
mc:Ignorable="d"
xmlns:i="http://schemas.microsoft.com/xaml/behaviors" xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks" xmlns:usercontrols="clr-namespace:AuroraUIComponent.UserControls;assembly=AuroraUIComponent"
d:DesignHeight="900" d:DesignWidth="1500" x:Name="uc">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<aurora:SharedResourceDictionary Source="pack://application:,,,/AuroraUIComponent;component/Style/Generic.xaml"/>
</ResourceDictionary.MergedDictionaries>
<aurora:BoolConverter
x:Key="BGConverter"
FalseValue="Red"
TrueValue="White"/>
<aurora:BoolConverter
x:Key="TextConverter"
FalseValue="Fail"
TrueValue="Success"/>
<aurora:BoolConverter
x:Key="ReverseConverter"
FalseValue="True"
TrueValue="False"/>
</ResourceDictionary>
</UserControl.Resources>
<i:Interaction.Triggers>
<i:PropertyChangedTrigger Binding="{Binding IsVisible, ElementName=uc}">
<i:InvokeCommandAction
Command="{Binding CMD_VisibleChanged}"
CommandParameter="{Binding IsVisible,
ElementName=uc}"/>
</i:PropertyChangedTrigger>
</i:Interaction.Triggers>
<Grid Margin="10">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock FontSize="16" FontWeight="Bold">ACS Configuration</TextBlock>
<mah:ToggleSwitch Grid.Column="1" HorizontalAlignment="Right"
Margin="0,0,0,0" IsOn="{Binding IsActivated}"
OffContent="Deactivated"
OnContent="Activated"/>
</Grid>
<Grid Grid.Row="1" Margin="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<ScrollViewer VerticalScrollBarVisibility="Auto" Margin="0 0">
<usercontrols:UCProperty Title="ACS Parameter" GridFontSize="12" SelectedObject="{Binding SelectedDeviceConfig}" CMD_Save="{Binding CMD_SaveConfigs}"
IsEnabled="{Binding IsActivated, Converter={StaticResource ReverseConverter}}"/>
</ScrollViewer>
<GroupBox Grid.Column="1" Margin="10 0 0 0" Header="Motion Initilize Status">
<ScrollViewer VerticalScrollBarVisibility="Auto">
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<ItemsControl Grid.Row="0" ItemsSource="{Binding MotorList}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="1"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock FontWeight="Bold" HorizontalAlignment="Center" VerticalAlignment="Center"
Text="{Binding DeviceId}"/>
<Border Grid.Column="1" BorderBrush="{Binding IsInit, Converter={StaticResource BGConverter}}" BorderThickness="1" Margin="10 5">
<TextBlock Foreground="{Binding IsInit, Converter={StaticResource BGConverter}}" Text="{Binding IsInit, Converter={StaticResource TextConverter}}"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<Button Grid.Row="1" Margin="0 5" Command="{Binding CMD_InitAll}">Init all Axses</Button>
</Grid>
</ScrollViewer>
</GroupBox>
<GroupBox Grid.Row="1" Grid.ColumnSpan="2" Margin="0 10 0 0" Header="Motion Parameter">
<ScrollViewer VerticalScrollBarVisibility="Auto">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid>
<Grid.Resources>
<Style TargetType="{x:Type Border}" BasedOn="{StaticResource StTitleBorder}">
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="HorizontalAlignment" Value="Stretch"/>
<Setter Property="VerticalAlignment" Value="Stretch"/>
<Setter Property="Background" Value="{StaticResource ACBlueDark}"/>
<Setter Property="Margin" Value="1"/>
</Style>
<Style TargetType="{x:Type TextBlock}" BasedOn="{StaticResource StKeyTB}">
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="TextWrapping" Value="Wrap"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="FontSize" Value="12"/>
<Setter Property="Margin" Value="1"/>
</Style>
</Grid.Resources>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Border Grid.Column="0">
<TextBlock Text="Motor"/>
</Border>
<Border Grid.Column="1">
<TextBlock Text="Speed"/>
</Border>
<Border Grid.Column="2">
<TextBlock Text="Acceleration"/>
</Border>
<Border Grid.Column="3">
<TextBlock Text="SW Limit(+)"/>
</Border>
<Border Grid.Column="4">
<TextBlock Text="SW Limit(-)"/>
</Border>
</Grid>
<ItemsControl Grid.Row="1" ItemsSource="{Binding MotorList}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid Grid.Row="1" Margin="0 1">
<Grid.Resources>
<Style TargetType="{x:Type TextBlock}" BasedOn="{StaticResource StKeyTB}">
<Setter Property="FontSize" Value="11"/>
<Setter Property="Margin" Value="5 0"/>
<Setter Property="Padding" Value="2"/>
</Style>
</Grid.Resources>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding DeviceId}"/>
<TextBox Grid.Column="1" Text="{Binding Config.Speed}"/>
<TextBox Grid.Column="2" Text="{Binding Config.Acceleration}"/>
<TextBox Grid.Column="3" Text="{Binding Config.SWLimitPlus}"/>
<TextBox Grid.Column="4" Text="{Binding Config.SWLimitMinus}"/>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<Button Grid.Row="2" x:Name="ButtonSave" VerticalAlignment="Center" Style="{StaticResource StSaveButton}"
Command="{Binding CMD_Save}"
Visibility="{Binding IsActivated, Converter={StaticResource activeVisibleInverter}}" Content="Save"/>
</Grid>
</ScrollViewer>
</GroupBox>
<Grid Grid.Column="2" Grid.RowSpan="2" Margin="0 10 0 0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock FontSize="16" FontWeight="Bold" VerticalAlignment="Center">ACS Motion</TextBlock>
<Border Grid.Row="2" Grid.RowSpan="2" BorderBrush="{StaticResource ACBlueDark}" BorderThickness="1 1 2 2" CornerRadius="1" Margin="0 10 0 0">
<local:UCMotorMoving x:Name="UCMotorView" Margin="0 0 0 0" Grid.ColumnSpan="2" DataContext="{Binding ACSMotionViewModel}"/>
</Border>
</Grid>
</Grid>
</Grid>
</UserControl>