177 lines
12 KiB
Plaintext
177 lines
12 KiB
Plaintext
|
|
<UserControl x:Class="MainShell.DeviceMaintance.View.CylinderView"
|
||
|
|
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:MainShell.DeviceMaintance.View"
|
||
|
|
mc:Ignorable="d"
|
||
|
|
d:DesignHeight="450" d:DesignWidth="800">
|
||
|
|
<UserControl.Resources>
|
||
|
|
<Style x:Key="CylinderCardStyle" TargetType="Border">
|
||
|
|
<Setter Property="Background" Value="#F8FAFD"/>
|
||
|
|
<Setter Property="BorderBrush" Value="#D4DCE8"/>
|
||
|
|
<Setter Property="BorderThickness" Value="1"/>
|
||
|
|
<Setter Property="CornerRadius" Value="8"/>
|
||
|
|
<Setter Property="Padding" Value="14"/>
|
||
|
|
<Setter Property="Margin" Value="0,0,0,12"/>
|
||
|
|
</Style>
|
||
|
|
|
||
|
|
<Style x:Key="CylinderDotStyle" TargetType="Ellipse">
|
||
|
|
<Setter Property="Width" Value="10"/>
|
||
|
|
<Setter Property="Height" Value="10"/>
|
||
|
|
<Setter Property="Fill" Value="#CBD5E1"/>
|
||
|
|
<Style.Triggers>
|
||
|
|
<DataTrigger Binding="{Binding IsOn}" Value="True">
|
||
|
|
<Setter Property="Fill" Value="#22C55E"/>
|
||
|
|
</DataTrigger>
|
||
|
|
</Style.Triggers>
|
||
|
|
</Style>
|
||
|
|
|
||
|
|
<Style x:Key="CylinderActionButtonStyle" TargetType="Button">
|
||
|
|
<Setter Property="Foreground" Value="White"/>
|
||
|
|
<Setter Property="Padding" Value="12,6"/>
|
||
|
|
<Setter Property="MinWidth" Value="90"/>
|
||
|
|
<Setter Property="FontWeight" Value="Bold"/>
|
||
|
|
<Setter Property="Margin" Value="0,0,8,0"/>
|
||
|
|
<Setter Property="BorderThickness" Value="0"/>
|
||
|
|
<Setter Property="Template">
|
||
|
|
<Setter.Value>
|
||
|
|
<ControlTemplate TargetType="Button">
|
||
|
|
<Border Background="{TemplateBinding Background}"
|
||
|
|
CornerRadius="18"
|
||
|
|
Padding="{TemplateBinding Padding}">
|
||
|
|
<ContentPresenter HorizontalAlignment="Center"
|
||
|
|
VerticalAlignment="Center"/>
|
||
|
|
</Border>
|
||
|
|
</ControlTemplate>
|
||
|
|
</Setter.Value>
|
||
|
|
</Setter>
|
||
|
|
</Style>
|
||
|
|
</UserControl.Resources>
|
||
|
|
|
||
|
|
<Grid Background="#EDF1F7">
|
||
|
|
<Grid.RowDefinitions>
|
||
|
|
<RowDefinition Height="Auto"/>
|
||
|
|
<RowDefinition Height="*"/>
|
||
|
|
</Grid.RowDefinitions>
|
||
|
|
|
||
|
|
<StackPanel Margin="12,12,12,8">
|
||
|
|
<TextBlock Text="CYLINDER CONTROL / 气缸控制" FontSize="20" FontWeight="Bold" Foreground="#0F3B7A"/>
|
||
|
|
<Border Background="#EFF6FF" BorderBrush="#BFDBFE" BorderThickness="1" CornerRadius="6" Padding="10" Margin="0,8,0,0">
|
||
|
|
<StackPanel Orientation="Horizontal">
|
||
|
|
<TextBlock Text="最近操作:" Foreground="#475569" Margin="0,0,8,0"/>
|
||
|
|
<TextBlock Text="{Binding PageState.LastActionTime, StringFormat={}{0:HH:mm:ss}}" Foreground="#0F172A" FontWeight="Bold" Margin="0,0,12,0"/>
|
||
|
|
<TextBlock Text="{Binding PageState.LastActionMessage}" Foreground="#1D4ED8" FontWeight="SemiBold" TextWrapping="Wrap"/>
|
||
|
|
</StackPanel>
|
||
|
|
</Border>
|
||
|
|
</StackPanel>
|
||
|
|
|
||
|
|
<ScrollViewer Grid.Row="1" Margin="12,0,12,12" VerticalScrollBarVisibility="Auto">
|
||
|
|
<ItemsControl ItemsSource="{Binding PageState.Cylinders}">
|
||
|
|
<ItemsControl.ItemTemplate>
|
||
|
|
<DataTemplate>
|
||
|
|
<Border Style="{StaticResource CylinderCardStyle}">
|
||
|
|
<Grid>
|
||
|
|
<Grid.RowDefinitions>
|
||
|
|
<RowDefinition Height="Auto"/>
|
||
|
|
<RowDefinition Height="Auto"/>
|
||
|
|
</Grid.RowDefinitions>
|
||
|
|
|
||
|
|
<Grid>
|
||
|
|
<Grid.ColumnDefinitions>
|
||
|
|
<ColumnDefinition Width="*"/>
|
||
|
|
<ColumnDefinition Width="Auto"/>
|
||
|
|
</Grid.ColumnDefinitions>
|
||
|
|
<StackPanel>
|
||
|
|
<TextBlock Text="{Binding Name}" FontSize="18" FontWeight="Bold" Foreground="#0F3B7A"/>
|
||
|
|
<TextBlock Text="{Binding Description}" Foreground="#64748B" Margin="0,4,0,0"/>
|
||
|
|
</StackPanel>
|
||
|
|
<Border Grid.Column="1" Background="#FEF3C7" CornerRadius="12" Padding="10,4" VerticalAlignment="Center">
|
||
|
|
<TextBlock Text="{Binding ControlTypeText}" Foreground="#92400E" FontWeight="Bold"/>
|
||
|
|
</Border>
|
||
|
|
</Grid>
|
||
|
|
|
||
|
|
<Grid Grid.Row="1" Margin="0,12,0,0">
|
||
|
|
<Grid.ColumnDefinitions>
|
||
|
|
<ColumnDefinition Width="Auto"/>
|
||
|
|
<ColumnDefinition Width="*"/>
|
||
|
|
<ColumnDefinition Width="*"/>
|
||
|
|
</Grid.ColumnDefinitions>
|
||
|
|
|
||
|
|
<StackPanel Margin="0,0,16,0">
|
||
|
|
<TextBlock Text="控制" Foreground="#1D4ED8" FontWeight="Bold" Margin="0,0,0,8"/>
|
||
|
|
<StackPanel Orientation="Horizontal">
|
||
|
|
<Button Content="伸出"
|
||
|
|
Command="{Binding ExtendCommand}"
|
||
|
|
Background="#2563EB"
|
||
|
|
BorderBrush="#2563EB"
|
||
|
|
Style="{StaticResource CylinderActionButtonStyle}"/>
|
||
|
|
<Button Content="缩回"
|
||
|
|
Command="{Binding RetractCommand}"
|
||
|
|
Background="#F97316"
|
||
|
|
BorderBrush="#F97316"
|
||
|
|
Style="{StaticResource CylinderActionButtonStyle}"/>
|
||
|
|
</StackPanel>
|
||
|
|
</StackPanel>
|
||
|
|
|
||
|
|
<StackPanel Grid.Column="1" Margin="0,0,16,0">
|
||
|
|
<TextBlock Text="输出信号" Foreground="#C2410C" FontWeight="Bold" Margin="0,0,0,8"/>
|
||
|
|
<ItemsControl ItemsSource="{Binding OutputSignals}">
|
||
|
|
<ItemsControl.ItemTemplate>
|
||
|
|
<DataTemplate>
|
||
|
|
<Border Background="#FFF7ED" BorderBrush="#FED7AA" BorderThickness="1" CornerRadius="4" Padding="8,6" Margin="0,0,0,6">
|
||
|
|
<Grid>
|
||
|
|
<Grid.ColumnDefinitions>
|
||
|
|
<ColumnDefinition Width="Auto"/>
|
||
|
|
<ColumnDefinition Width="*"/>
|
||
|
|
<ColumnDefinition Width="Auto"/>
|
||
|
|
</Grid.ColumnDefinitions>
|
||
|
|
<Ellipse Style="{StaticResource CylinderDotStyle}" VerticalAlignment="Center" Margin="0,0,8,0"/>
|
||
|
|
<StackPanel Grid.Column="1">
|
||
|
|
<TextBlock Text="{Binding Name}" Foreground="#9A3412" FontWeight="SemiBold"/>
|
||
|
|
<TextBlock Text="{Binding IoNameText}" Foreground="#7C2D12" FontSize="11" TextWrapping="Wrap"/>
|
||
|
|
<TextBlock Text="{Binding LineNo, StringFormat=线标:{0}}" Foreground="#C2410C" FontSize="11"/>
|
||
|
|
</StackPanel>
|
||
|
|
<TextBlock Grid.Column="2" Text="{Binding StateText}" Foreground="#C2410C" FontWeight="Bold"/>
|
||
|
|
</Grid>
|
||
|
|
</Border>
|
||
|
|
</DataTemplate>
|
||
|
|
</ItemsControl.ItemTemplate>
|
||
|
|
</ItemsControl>
|
||
|
|
</StackPanel>
|
||
|
|
|
||
|
|
<StackPanel Grid.Column="2">
|
||
|
|
<TextBlock Text="反馈信号" Foreground="#166534" FontWeight="Bold" Margin="0,0,0,8"/>
|
||
|
|
<ItemsControl ItemsSource="{Binding FeedbackSignals}">
|
||
|
|
<ItemsControl.ItemTemplate>
|
||
|
|
<DataTemplate>
|
||
|
|
<Border Background="#F0FDF4" BorderBrush="#BBF7D0" BorderThickness="1" CornerRadius="4" Padding="8,6" Margin="0,0,0,6">
|
||
|
|
<Grid>
|
||
|
|
<Grid.ColumnDefinitions>
|
||
|
|
<ColumnDefinition Width="Auto"/>
|
||
|
|
<ColumnDefinition Width="*"/>
|
||
|
|
<ColumnDefinition Width="Auto"/>
|
||
|
|
</Grid.ColumnDefinitions>
|
||
|
|
<Ellipse Style="{StaticResource CylinderDotStyle}" VerticalAlignment="Center" Margin="0,0,8,0"/>
|
||
|
|
<StackPanel Grid.Column="1">
|
||
|
|
<TextBlock Text="{Binding Name}" Foreground="#166534" FontWeight="SemiBold"/>
|
||
|
|
<TextBlock Text="{Binding IoNameText}" Foreground="#15803D" FontSize="11" TextWrapping="Wrap"/>
|
||
|
|
<TextBlock Text="{Binding LineNo, StringFormat=线标:{0}}" Foreground="#15803D" FontSize="11"/>
|
||
|
|
</StackPanel>
|
||
|
|
<TextBlock Grid.Column="2" Text="{Binding StateText}" Foreground="#166534" FontWeight="Bold"/>
|
||
|
|
</Grid>
|
||
|
|
</Border>
|
||
|
|
</DataTemplate>
|
||
|
|
</ItemsControl.ItemTemplate>
|
||
|
|
</ItemsControl>
|
||
|
|
</StackPanel>
|
||
|
|
</Grid>
|
||
|
|
</Grid>
|
||
|
|
</Border>
|
||
|
|
</DataTemplate>
|
||
|
|
</ItemsControl.ItemTemplate>
|
||
|
|
</ItemsControl>
|
||
|
|
</ScrollViewer>
|
||
|
|
</Grid>
|
||
|
|
</UserControl>
|