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

343 lines
22 KiB
XML

<Window x:Class="CRSim.ScreenSimulator.Views.Zibo.PrimaryScreenView"
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.Zibo"
mc:Ignorable="d"
xmlns:converters="clr-namespace:CRSim.ScreenSimulator.Converters"
xmlns:converters1="clr-namespace:CRSim.Shared.Converters;assembly=CRSim.Shared"
Title="引导屏" SizeToContent="WidthAndHeight"
WindowStyle="None" AllowsTransparency="True" Background="Transparent"
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="Transparent"/>
<Setter Property="BorderThickness" Value="0"/>
</Style>
<converters1:ListToStringConverter x:Key="ListToStringConverter" Separator="" />
<converters1:DateTimeToStringConverter x:Key="DateTimeToStringConverter" Format="HH:mm" />
<converters:TrainStateConverter x:Key="TrainStateConverter" />
<converters:TrainStateColorConverter x:Key="TrainStateColorConverter" WaitingColor="white" CheckingTicketsColor="#1ce048" StopCheckingTicketsColor="#df0122"/>
</Window.Resources>
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<DataGrid ItemsSource="{Binding LeftScreen}" AutoGenerateColumns="False"
CanUserResizeColumns="False" CanUserSortColumns="False" CanUserAddRows="False"
CanUserResizeRows="False" CanUserReorderColumns="False"
FontFamily="等线" FontSize="20" FontWeight="Bold" FontStretch="Condensed"
IsReadOnly="True" GridLinesVisibility="None" RowHeight="40"
AlternationCount="2" HeadersVisibility="Column" IsEnabled="False">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding TrainNumber}" MinWidth="80">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical" Width="{Binding ActualWidth, RelativeSource={RelativeSource AncestorType=DataGridColumnHeader}}">
<TextBlock Text="车次" HorizontalAlignment="Stretch" Padding="10"
Foreground="#cfcfcf" TextAlignment="Center">
<TextBlock.Background>
<SolidColorBrush Color="#132b81"/>
</TextBlock.Background>
</TextBlock>
</StackPanel>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextAlignment" Value="Center" />
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Origin}" MinWidth="100">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical" Width="{Binding ActualWidth, RelativeSource={RelativeSource AncestorType=DataGridColumnHeader}}">
<TextBlock Text="始发站" HorizontalAlignment="Stretch" Padding="10"
Foreground="#cfcfcf" TextAlignment="Center">
<TextBlock.Background>
<SolidColorBrush Color="#132b81"/>
</TextBlock.Background>
</TextBlock>
</StackPanel>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextAlignment" Value="Center" />
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Terminal}" MinWidth="100">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical" Width="{Binding ActualWidth, RelativeSource={RelativeSource AncestorType=DataGridColumnHeader}}">
<TextBlock Text="终到站" HorizontalAlignment="Stretch" Padding="10"
Foreground="#cfcfcf" TextAlignment="Center">
<TextBlock.Background>
<SolidColorBrush Color="#132b81"/>
</TextBlock.Background>
</TextBlock>
</StackPanel>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextAlignment" Value="Center" />
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding DepartureTime, Converter={StaticResource DateTimeToStringConverter}}" MinWidth="100">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical" Width="{Binding ActualWidth, RelativeSource={RelativeSource AncestorType=DataGridColumnHeader}}">
<TextBlock Text="开点" HorizontalAlignment="Stretch" Padding="10"
Foreground="#cfcfcf" TextAlignment="Center">
<TextBlock.Background>
<SolidColorBrush Color="#132b81"/>
</TextBlock.Background>
</TextBlock>
</StackPanel>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextAlignment" Value="Center" />
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn MinWidth="100">
<DataGridTextColumn.Binding>
<MultiBinding Mode="OneWay" Converter="{StaticResource TrainStateConverter}">
<Binding Path="ArrivalTime" />
<Binding Path="DepartureTime" />
<Binding Path="State" />
</MultiBinding>
</DataGridTextColumn.Binding>
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical" Width="{Binding ActualWidth, RelativeSource={RelativeSource AncestorType=DataGridColumnHeader}}">
<TextBlock Text="状态" HorizontalAlignment="Stretch" Padding="10"
Foreground="#cfcfcf" TextAlignment="Center">
<TextBlock.Background>
<SolidColorBrush Color="#132b81"/>
</TextBlock.Background>
</TextBlock>
</StackPanel>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextAlignment" Value="Center" />
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Foreground">
<Setter.Value>
<MultiBinding Converter="{StaticResource TrainStateColorConverter}">
<Binding Path="ArrivalTime" />
<Binding Path="DepartureTime" />
<Binding Path="State" />
</MultiBinding>
</Setter.Value>
</Setter>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
</DataGrid.Columns>
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Style.Triggers>
<!-- 偶数行样式 -->
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=AlternationIndex}" Value="1">
<Setter Property="Background">
<Setter.Value>
<SolidColorBrush Color="#000000"/>
</Setter.Value>
</Setter>
<Setter Property="Foreground" Value="White"/>
</DataTrigger>
<!-- 奇数行样式 -->
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=AlternationIndex}" Value="0">
<Setter Property="Background">
<Setter.Value>
<SolidColorBrush Color="#012CF5"/>
</Setter.Value>
</Setter>
<Setter Property="Foreground" Value="White"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
</DataGrid>
<DataGrid ItemsSource="{Binding RightScreen}" AutoGenerateColumns="False"
CanUserResizeColumns="False" CanUserSortColumns="False" CanUserAddRows="False"
CanUserResizeRows="False" CanUserReorderColumns="False"
FontFamily="等线" FontSize="20" FontWeight="Bold" FontStretch="Condensed"
IsReadOnly="True" GridLinesVisibility="None" RowHeight="40"
AlternationCount="2" HeadersVisibility="Column" IsEnabled="False">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding TrainNumber}" MinWidth="80">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical" Width="{Binding ActualWidth, RelativeSource={RelativeSource AncestorType=DataGridColumnHeader}}">
<TextBlock Text="车次" HorizontalAlignment="Stretch" Padding="10"
Foreground="#cfcfcf" TextAlignment="Center">
<TextBlock.Background>
<SolidColorBrush Color="#132b81"/>
</TextBlock.Background>
</TextBlock>
</StackPanel>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextAlignment" Value="Center" />
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Origin}" MinWidth="100">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical" Width="{Binding ActualWidth, RelativeSource={RelativeSource AncestorType=DataGridColumnHeader}}">
<TextBlock Text="始发站" HorizontalAlignment="Stretch" Padding="10"
Foreground="#cfcfcf" TextAlignment="Center">
<TextBlock.Background>
<SolidColorBrush Color="#132b81"/>
</TextBlock.Background>
</TextBlock>
</StackPanel>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextAlignment" Value="Center" />
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Terminal}" MinWidth="100">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical" Width="{Binding ActualWidth, RelativeSource={RelativeSource AncestorType=DataGridColumnHeader}}">
<TextBlock Text="终到站" HorizontalAlignment="Stretch" Padding="10"
Foreground="#cfcfcf" TextAlignment="Center">
<TextBlock.Background>
<SolidColorBrush Color="#132b81"/>
</TextBlock.Background>
</TextBlock>
</StackPanel>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextAlignment" Value="Center" />
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding DepartureTime, Converter={StaticResource DateTimeToStringConverter}}" MinWidth="100">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical" Width="{Binding ActualWidth, RelativeSource={RelativeSource AncestorType=DataGridColumnHeader}}">
<TextBlock Text="开点" HorizontalAlignment="Stretch" Padding="10"
Foreground="#cfcfcf" TextAlignment="Center">
<TextBlock.Background>
<SolidColorBrush Color="#132b81"/>
</TextBlock.Background>
</TextBlock>
</StackPanel>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextAlignment" Value="Center" />
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn MinWidth="100">
<DataGridTextColumn.Binding>
<MultiBinding Mode="OneWay" Converter="{StaticResource TrainStateConverter}">
<Binding Path="ArrivalTime" />
<Binding Path="DepartureTime" />
<Binding Path="State" />
</MultiBinding>
</DataGridTextColumn.Binding>
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical" Width="{Binding ActualWidth, RelativeSource={RelativeSource AncestorType=DataGridColumnHeader}}">
<TextBlock Text="状态" HorizontalAlignment="Stretch" Padding="10"
Foreground="#cfcfcf" TextAlignment="Center">
<TextBlock.Background>
<SolidColorBrush Color="#132b81"/>
</TextBlock.Background>
</TextBlock>
</StackPanel>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextAlignment" Value="Center" />
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Foreground">
<Setter.Value>
<MultiBinding Converter="{StaticResource TrainStateColorConverter}">
<Binding Path="ArrivalTime" />
<Binding Path="DepartureTime" />
<Binding Path="State" />
</MultiBinding>
</Setter.Value>
</Setter>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
</DataGrid.Columns>
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Style.Triggers>
<!-- 偶数行样式 -->
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=AlternationIndex}" Value="1">
<Setter Property="Background">
<Setter.Value>
<SolidColorBrush Color="#000000"/>
</Setter.Value>
</Setter>
<Setter Property="Foreground" Value="White"/>
</DataTrigger>
<!-- 奇数行样式 -->
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=AlternationIndex}" Value="0">
<Setter Property="Background">
<Setter.Value>
<SolidColorBrush Color="#012CF5"/>
</Setter.Value>
</Setter>
<Setter Property="Foreground" Value="White"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
</DataGrid>
</StackPanel>
</StackPanel>
</Window>