Files
FT479/WPFWCSDemo/Views/CircleRGVsView.xaml
2026-06-29 14:46:32 +08:00

267 lines
16 KiB
XML

<Page x:Class="WPFWCSDemo.Views.Devices.CircleRGVsView"
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:md="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:local="clr-namespace:WPFWCSDemo.Views.Devices"
xmlns:viewmodels="clr-namespace:WPFWCSDemo.ViewModels"
d:DataContext="{d:DesignInstance Type=viewmodels:CircleRGVsViewModel}"
mc:Ignorable="d"
d:DesignHeight="800" d:DesignWidth="1600"
Title="CircleRGVsView">
<Page.Resources>
<Style x:Key="StateTitle" TargetType="TextBlock">
<Setter Property="FontSize" Value="16"/>
<Setter Property="FontFamily" Value="黑体"/>
<Setter Property="Foreground" Value="DimGray"/>
<Setter Property="Margin" Value="5 10"/>
<!--<Setter Property="FontStyle" Value="Italic"/>-->
</Style>
<Style x:Key="StateValue" TargetType="TextBlock">
<Setter Property="FontSize" Value="16"/>
<Setter Property="FontFamily" Value="黑体"/>
<Setter Property="Margin" Value="5 10"/>
<!--<Setter Property="FontStyle" Value="Italic"/>-->
</Style>
<!--【执行阶段-运行状态】样式-->
<Style x:Key="StatePhase" TargetType="TextBlock" BasedOn="{StaticResource StateValue}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=tbPhase,Path=Tag}" Value="5">
<Setter Property="Foreground" Value="DarkGreen"/>
<Setter Property="Text" Value="执行完成"/>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=tbPhase,Path=Tag}" Value="4">
<Setter Property="Foreground" Value="LimeGreen"/>
<Setter Property="Text" Value="放货中"/>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=tbPhase,Path=Tag}" Value="3">
<Setter Property="Foreground" Value="LimeGreen"/>
<Setter Property="Text" Value="放货途中"/>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=tbPhase,Path=Tag}" Value="2">
<Setter Property="Foreground" Value="LimeGreen"/>
<Setter Property="Text" Value="取货中"/>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=tbPhase,Path=Tag}" Value="1">
<Setter Property="Foreground" Value="LimeGreen"/>
<Setter Property="Text" Value="取货途中"/>
</DataTrigger>
</Style.Triggers>
</Style>
<!--【设备状态】样式-->
<Style x:Key="StateDeviceState" TargetType="TextBlock" BasedOn="{StaticResource StateValue}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=tbDeviceState,Path=Tag}" Value="0">
<Setter Property="Foreground" Value="Gray"/>
<Setter Property="Text" Value="未知"/>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=tbDeviceState,Path=Tag}" Value="1">
<Setter Property="Foreground" Value="LimeGreen"/>
<Setter Property="Text" Value="运行中"/>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=tbDeviceState,Path=Tag}" Value="2">
<Setter Property="Foreground" Value="DarkOrange"/>
<Setter Property="Text" Value="手动"/>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=tbDeviceState,Path=Tag}" Value="3">
<Setter Property="Foreground" Value="OliveDrab"/>
<Setter Property="Text" Value="待机"/>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=tbDeviceState,Path=Tag}" Value="100">
<Setter Property="Foreground" Value="Red"/>
<Setter Property="Text" Value="报警"/>
</DataTrigger>
</Style.Triggers>
</Style>
<!--【任务类型】样式-->
<Style x:Key="StateTaskType" TargetType="TextBlock" BasedOn="{StaticResource StateValue}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=tbTaskType,Path=Tag}" Value="0">
<Setter Property="Foreground" Value="Gray"/>
<Setter Property="Text" Value="未知"/>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=tbTaskType,Path=Tag}" Value="1">
<Setter Property="Foreground" Value="Green"/>
<Setter Property="Text" Value="常规任务"/>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=tbTaskType,Path=Tag}" Value="10">
<Setter Property="Foreground" Value="Green"/>
<Setter Property="Text" Value="实垛任务"/>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=tbTaskType,Path=Tag}" Value="11">
<Setter Property="Foreground" Value="Green"/>
<Setter Property="Text" Value="空托任务"/>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=tbTaskType,Path=Tag}" Value="2">
<Setter Property="Foreground" Value="DarkOrange"/>
<Setter Property="Text" Value="进休息区"/>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=tbTaskType,Path=Tag}" Value="3">
<Setter Property="Foreground" Value="DarkOrange"/>
<Setter Property="Text" Value="返回轨道"/>
</DataTrigger>
</Style.Triggers>
</Style>
<!--【任务类型】样式-->
<Style x:Key="StateMode" TargetType="TextBlock" BasedOn="{StaticResource StateValue}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=tbMode,Path=Tag}" Value="0">
<Setter Property="Foreground" Value="Gray"/>
<Setter Property="Text" Value="未知"/>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=tbMode,Path=Tag}" Value="1">
<Setter Property="Foreground" Value="Green"/>
<Setter Property="Text" Value="常规任务"/>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=tbMode,Path=Tag}" Value="2">
<Setter Property="Foreground" Value="DarkOrange"/>
<Setter Property="Text" Value="进休息区"/>
</DataTrigger>
</Style.Triggers>
</Style>
<!--【任务号】样式-->
<Style x:Key="StateTaskNumber" TargetType="TextBlock" BasedOn="{StaticResource StateValue}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=tbTaskNumber,Path=Text}" Value="0">
<Setter Property="Visibility" Value="Hidden"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Page.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<!--背景图-->
<Image Grid.RowSpan="2" Source="\Resources\background.jpg" Panel.ZIndex="0" Opacity=".8" Stretch="Fill">
<Image.Effect>
<BlurEffect Radius="40"/>
</Image.Effect>
</Image>
<TextBlock Text="环穿状态" Style="{StaticResource screenTitle}"/>
<ItemsControl Grid.Row="1" HorizontalAlignment="Center" ItemsSource="{Binding CircleRGVStates}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Rows="2"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border Width="200" Height="300" CornerRadius="5" Margin="10 0">
<Border.Style>
<Style TargetType="Border">
<Style.Setters>
<Setter Property="Effect">
<Setter.Value>
<DropShadowEffect Color="Gray" ShadowDepth="10" BlurRadius="10"/>
</Setter.Value>
</Setter>
</Style.Setters>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Effect">
<Setter.Value>
<DropShadowEffect Color="Gray" BlurRadius="20" ShadowDepth="15"/>
</Setter.Value>
</Setter>
</Trigger>
<DataTrigger Binding="{Binding ElementName=tbDeviceState,Path=Tag}" Value="0">
<Setter Property="Background" Value="LightGray"/>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=tbDeviceState,Path=Tag}" Value="1">
<Setter Property="Background" Value="LightCyan"/>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=tbDeviceState,Path=Tag}" Value="2">
<Setter Property="Background" Value="LightSalmon"/>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=tbDeviceState,Path=Tag}" Value="3">
<Setter Property="Background" Value="Lavender"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
<Grid Margin="5">
<!--设备面板背景-->
<Canvas Grid.RowSpan="2" ClipToBounds="True">
<Border Canvas.Top="140" Canvas.Right="-50" Width="120" Height="120" Background="#FFFFFF" Opacity="0.3" CornerRadius="100"/>
<Border Canvas.Top="200" Canvas.Right="-20" Width="150" Height="150" Background="#FFFFFF" Opacity="0.4" CornerRadius="100"/>
<Border Canvas.Top="-30" Canvas.Right="120" Width="100" Height="100" Background="#FFFFFF" Opacity="0.2" CornerRadius="100"/>
</Canvas>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Text="{Binding Title}" FontSize="22" FontWeight="Bold" Foreground="Black" Margin="5"/>
<Grid Grid.Row="1" Margin="10 5 10 0">
<Grid.RowDefinitions>
<!--<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>-->
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<!--<ColumnDefinition/>
<ColumnDefinition/>-->
</Grid.ColumnDefinitions>
<!--属性-->
<StackPanel>
<TextBlock Text=" 任务号:" Style="{StaticResource StateTitle}"/>
<TextBlock Text="运行状态:" Style="{StaticResource StateTitle}"/>
<TextBlock Text="设备状态:" Style="{StaticResource StateTitle}"/>
<TextBlock Text="操作模式:" Style="{StaticResource StateTitle}"/>
<TextBlock Text="取货站点:" Style="{StaticResource StateTitle}"/>
<TextBlock Text="目标站点:" Style="{StaticResource StateTitle}"/>
</StackPanel>
<!--显示的值-->
<StackPanel Grid.Column="1">
<TextBlock x:Name="tbTaskNumber" Text="{Binding Read_TaskNumber}" Style="{StaticResource StateValue}"/>
<TextBlock x:Name="tbPhase" Tag="{Binding Read_Phase}" Style="{StaticResource StatePhase}"/>
<TextBlock x:Name="tbDeviceState" Tag="{Binding Read_DeviceState}" Style="{StaticResource StateDeviceState}"/>
<TextBlock x:Name="tbMode" Tag="{Binding Read_Mode}" Style="{StaticResource StateMode}"/>
<TextBlock x:Name="tbSourceLocation" Text="{Binding Read_SourceLocation}" Style="{StaticResource StateValue}"/>
<TextBlock x:Name="tbTargetLocation" Text="{Binding Read_TargetLocation}" Style="{StaticResource StateValue}"/>
</StackPanel>
<!--属性-->
<!--<StackPanel Grid.Row="1" Grid.Column="0">
<TextBlock Text="操作模式:" Style="{StaticResource StateTitle}"/>
<TextBlock Text="取货站点:" Style="{StaticResource StateTitle}"/>
<TextBlock Text="目标站点:" Style="{StaticResource StateTitle}"/>
</StackPanel>-->
<!--显示的值-->
<!--<StackPanel Grid.Row="1" Grid.Column="1">
<TextBlock x:Name="tbMode" Tag="{Binding Read_Mode}" Style="{StaticResource StateMode}"/>
<TextBlock x:Name="tbSourceLocation" Text="{Binding Read_SourceLocation}" Style="{StaticResource StateValue}"/>
<TextBlock x:Name="tbTargetLocation" Text="{Binding Read_TargetLocation}" Style="{StaticResource StateValue}"/>
</StackPanel>-->
</Grid>
</Grid>
</Grid>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
</Page>