Files
CRSim/CRSim.ScreenSimulator/Views/Windows/Stations/Fuzhou/TicketCheckScreenView.xaml
2025-03-16 12:19:30 +08:00

250 lines
16 KiB
XML

<Window x:Class="CRSim.ScreenSimulator.Views.Fuzhou.TicketCheckScreenView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:CRSim.ScreenSimulator.Views.Fuzhou"
mc:Ignorable="d"
xmlns:converters="clr-namespace:CRSim.ScreenSimulator.Converters"
xmlns:converters1="clr-namespace:CRSim.Shared.Converters;assembly=CRSim.Shared"
FontFamily="黑体" FontSize="20" FontWeight="Bold"
Title="引导屏" SizeToContent="WidthAndHeight"
WindowStyle="None" AllowsTransparency="True" Background="Black"
KeyDown="Window_KeyDown"
ResizeMode="NoResize" MouseDown="Window_MouseDown">
<Window.Resources>
<Style TargetType="DataGridColumnHeader">
<!-- 去除列头的间距 -->
<Setter Property="Padding" Value="0"/>
<Setter Property="Margin" Value="0"/>
<Setter Property="BorderBrush" Value="Black"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="SeparatorBrush" Value="Black"/>
<Setter Property="SeparatorVisibility" Value="Collapsed"/>
</Style>
<converters:TrainStateConverter x:Key="TrainStateConverter" WaitingText="候车"/>
<converters:TrainStateColorConverter x:Key="TrainStateColorConverter" WaitingColor="#FFF150"/>
<converters:LandmarkToStringConverter x:Key="LandmarkToStringConverter"/>
<converters:NumberToStringConverter x:Key="NumberToStringConverter"/>
<converters1:DateTimeToStringConverter x:Key="DateTimeToStringTimeConverter" Format="yyyy-MM-dd HH:mm:ss" />
<converters1:DateTimeToStringConverter x:Key="DateTimeToStringConverter" Format="HH:mm" />
</Window.Resources>
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Vertical" Background="#545863">
<Grid MinWidth="100" Margin="30,4">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Text="{Binding ThisTicketCheck}" Foreground="#FFF150"
FontWeight="Bold" FontSize="88" TextAlignment="Center"/>
<TextBlock Grid.Row="1" Text="检票口" Foreground="#FFF150" TextAlignment="Center" FontSize="32"/>
<TextBlock Grid.Row="2" Text="Ticket Check" Foreground="#FFF150" FontSize="16"
TextAlignment="Center" FontFamily="Arial"/>
</Grid>
</StackPanel>
<StackPanel Orientation="Vertical">
<DataGrid ItemsSource="{Binding Screen}" AutoGenerateColumns="False" BorderThickness="0.1"
CanUserResizeColumns="False" CanUserSortColumns="False" CanUserAddRows="False"
CanUserResizeRows="False" CanUserReorderColumns="False" ClipToBounds="False"
IsReadOnly="True" GridLinesVisibility="None" RowHeight="28" Foreground="White"
HeadersVisibility="Column" IsEnabled="False">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding TrainNumber}">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="车次" Padding="2" HorizontalAlignment="Stretch" TextAlignment="Center" Foreground="Red" Background="Black" Width="145"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="Foreground">
<Setter.Value>
<MultiBinding Converter="{StaticResource TrainStateColorConverter}">
<Binding Path="ArrivalTime" />
<Binding Path="DepartureTime" />
<Binding Path="State" />
</MultiBinding>
</Setter.Value>
</Setter>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="TextAlignment" Value="Center"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Terminal}">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="终到站" Padding="2" HorizontalAlignment="Stretch" TextAlignment="Center" Foreground="Red" Background="Black" Width="145"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="Foreground">
<Setter.Value>
<MultiBinding Converter="{StaticResource TrainStateColorConverter}">
<Binding Path="ArrivalTime" />
<Binding Path="DepartureTime" />
<Binding Path="State" />
</MultiBinding>
</Setter.Value>
</Setter>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="TextAlignment" Value="Center"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding DepartureTime, Converter={StaticResource DateTimeToStringConverter}}">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="开点" Padding="2" HorizontalAlignment="Stretch" TextAlignment="Center" Foreground="Red" Background="Black" Width="145"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="Foreground">
<Setter.Value>
<MultiBinding Converter="{StaticResource TrainStateColorConverter}">
<Binding Path="ArrivalTime" />
<Binding Path="DepartureTime" />
<Binding Path="State" />
</MultiBinding>
</Setter.Value>
</Setter>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="TextAlignment" Value="Center"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Platform}">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="站台" Padding="2" HorizontalAlignment="Stretch" TextAlignment="Center" Foreground="Red" Background="Black" Width="145"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="Foreground">
<Setter.Value>
<MultiBinding Converter="{StaticResource TrainStateColorConverter}">
<Binding Path="ArrivalTime" />
<Binding Path="DepartureTime" />
<Binding Path="State" />
</MultiBinding>
</Setter.Value>
</Setter>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="TextAlignment" Value="Center"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Landmark,Converter={StaticResource LandmarkToStringConverter}}">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="地标" Padding="2" HorizontalAlignment="Stretch" TextAlignment="Center" Foreground="Red" Background="Black" Width="145"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="Foreground">
<Setter.Value>
<MultiBinding Converter="{StaticResource TrainStateColorConverter}">
<Binding Path="ArrivalTime" />
<Binding Path="DepartureTime" />
<Binding Path="State" />
</MultiBinding>
</Setter.Value>
</Setter>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="TextAlignment" Value="Center"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Length,Converter={StaticResource NumberToStringConverter}}">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="车厢" Padding="2" HorizontalAlignment="Stretch" TextAlignment="Center" Foreground="Red" Background="Black" Width="145"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="Foreground">
<Setter.Value>
<MultiBinding Converter="{StaticResource TrainStateColorConverter}">
<Binding Path="ArrivalTime" />
<Binding Path="DepartureTime" />
<Binding Path="State" />
</MultiBinding>
</Setter.Value>
</Setter>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="TextAlignment" Value="Center"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn>
<DataGridTextColumn.Binding>
<MultiBinding Mode="OneWay" Converter="{StaticResource TrainStateConverter}">
<Binding Path="ArrivalTime" />
<Binding Path="DepartureTime" />
<Binding Path="State" />
</MultiBinding>
</DataGridTextColumn.Binding>
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="状态" Padding="2" HorizontalAlignment="Stretch" TextAlignment="Center" Foreground="Red" Background="Black" Width="145"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="Foreground">
<Setter.Value>
<MultiBinding Converter="{StaticResource TrainStateColorConverter}">
<Binding Path="ArrivalTime" />
<Binding Path="DepartureTime" />
<Binding Path="State" />
</MultiBinding>
</Setter.Value>
</Setter>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="TextAlignment" Value="Center"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
</DataGrid.Columns>
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="Background" Value="Black"/>
</Style>
</DataGrid.RowStyle>
</DataGrid>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Background="Black" Foreground="Red" TextAlignment="Center" Padding="2,2,2,2" Text="{Binding Text}"/>
<TextBlock Grid.Column="2" Background="Black" Foreground="Red" TextAlignment="Center" Padding="2" Text="{Binding CurrentTime,Converter={StaticResource DateTimeToStringTimeConverter}}"/>
</Grid>
</StackPanel>
<StackPanel Orientation="Vertical" Background="#545863">
<Grid MinWidth="100" Margin="30,4">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Text="{Binding ThisTicketCheck}" Foreground="#FFF150"
FontWeight="Bold" FontSize="88" TextAlignment="Center"/>
<TextBlock Grid.Row="1" Text="检票口" Foreground="#FFF150" TextAlignment="Center" FontSize="32"/>
<TextBlock Grid.Row="2" Text="Ticket Check" Foreground="#FFF150" FontSize="16"
TextAlignment="Center" FontFamily="Arial"/>
</Grid>
</StackPanel>
</StackPanel>
</Window>