feat: 完善简化代码 [skip cliff]

This commit is contained in:
denglihong2007
2025-05-24 20:03:30 +08:00
parent 7c989c6ec8
commit cfb9753097
3 changed files with 130 additions and 180 deletions

View File

@@ -8,55 +8,25 @@
mc:Ignorable="d" Foreground="#df3a38"
xmlns:converters="clr-namespace:CRSim.ScreenSimulator.Converters"
xmlns:converters1="clr-namespace:CRSim.Shared.Converters;assembly=CRSim.Shared"
FontFamily="体" FontSize="25" FontWeight="Bold"
FontFamily="体" FontSize="25" FontWeight="Bold"
Title="引导屏" SizeToContent="WidthAndHeight"
WindowStyle="None" AllowsTransparency="True" Background="Black"
xmlns:views="clr-namespace:CRSim.ScreenSimulator.Views"
ResizeMode="NoResize">
<Window.Resources>
<views:BaseScreenView.Resources>
<converters1:DateTimeToStringConverter x:Key="DateTimeToStringConverter" Format="HH:mm" />
<converters1:EmptyToVisibilityConverter x:Key="EmptyToVisibilityConverter" />
<converters:LocationToStringConverter x:Key="LocationToStringConverter" DisplayMode="least" DisplayArrow="False" HyphenText="-"/>
</Window.Resources>
<StackPanel Orientation="Horizontal">
<Grid Margin="4" Background="Black" MinWidth="350" MinHeight="150">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.Resources>
<Style TargetType="TextBlock">
<Setter Property="Foreground" Value="#df3a38"/>
</Style>
</Grid.Resources>
<TextBlock Grid.Column="0" Text="{Binding LeftScreen[0].TrainNumber}" VerticalAlignment="Center" TextAlignment="Left" Margin="80,0,0,0"/>
<TextBlock Grid.Column="1" Text="次" Margin="4,0,10,0" VerticalAlignment="Center" TextAlignment="Left"/>
<TextBlock Grid.Column="2" Text="{Binding LeftScreen[0].DepartureTime,Converter={StaticResource DateTimeToStringConverter}}" VerticalAlignment="Center" TextAlignment="Right"/>
<TextBlock Grid.Column="3" Text="开" Margin="4,0,80,0" VerticalAlignment="Center" TextAlignment="Right"/>
</Grid>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.Resources>
<Style TargetType="TextBlock">
<Setter Property="Foreground" Value="#eef4c9"/>
</Style>
</Grid.Resources>
<TextBlock Grid.Column="1" VerticalAlignment="Center" TextAlignment="Left" Margin="0,0,10,0">
</views:BaseScreenView.Resources>
<StackPanel Orientation="Vertical" Background="Black" MinWidth="350" MinHeight="150">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Margin="0,25,0,0">
<TextBlock FontFamily="黑体" Text="{Binding LeftScreen[0].TrainNumber}"/>
<TextBlock FontFamily="黑体" Text="次" Margin="2,0,4,0"/>
<TextBlock FontFamily="黑体" Text="{Binding LeftScreen[0].DepartureTime,Converter={StaticResource DateTimeToStringConverter}}"/>
<TextBlock FontFamily="黑体" Text="开" Margin="2,0,0,0"/>
</StackPanel>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Margin="0,42,0,0">
<TextBlock>
<TextBlock.Text>
<MultiBinding Mode="OneWay" Converter="{StaticResource LocationToStringConverter}">
<Binding Path="LeftScreen[0].Length" />
@@ -66,10 +36,10 @@
</MultiBinding>
</TextBlock.Text>
</TextBlock>
<TextBlock Grid.Column="2" Text="←" VerticalAlignment="Center" TextAlignment="Center" Margin="0,0,10,0"/>
<TextBlock Grid.Column="3" Text="{Binding Location}" VerticalAlignment="Center" TextAlignment="Center"/>
<TextBlock Grid.Column="4" Text="→" VerticalAlignment="Center" TextAlignment="Center" Margin="10,0,0,0"/>
<TextBlock Grid.Column="5" VerticalAlignment="Center" TextAlignment="Right" Margin="10,0,0,0">
<TextBlock Text="←" Margin="12,0"/>
<TextBlock Text="{Binding Location}"/>
<TextBlock Text="→" Margin="12,0"/>
<TextBlock>
<TextBlock.Text>
<MultiBinding Mode="OneWay" Converter="{StaticResource LocationToStringConverter}">
<Binding Path="LeftScreen[0].Length" />
@@ -78,7 +48,11 @@
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</Grid>
</Grid>
<StackPanel.Resources>
<Style TargetType="TextBlock">
<Setter Property="Foreground" Value="#eef4c9"/>
</Style>
</StackPanel.Resources>
</StackPanel>
</StackPanel>
</views:BaseScreenView>

View File

@@ -1,9 +1,9 @@
<views:BaseScreenView x:Class="CRSim.ScreenSimulator.Views.ChengduDong.PrimaryTicketCheckScreenView"
<views:BaseScreenView x:Class="CRSim.ScreenSimulator.Views.BeijingNan.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.ChengduDong"
xmlns:local="clr-namespace:CRSim.ScreenSimulator.Views.BeijingNan"
mc:Ignorable="d"
xmlns:converters="clr-namespace:CRSim.ScreenSimulator.Converters"
xmlns:converters1="clr-namespace:CRSim.Shared.Converters;assembly=CRSim.Shared"
@@ -12,7 +12,7 @@
WindowStyle="None" AllowsTransparency="True" Background="#0036DF"
xmlns:views="clr-namespace:CRSim.ScreenSimulator.Views"
ResizeMode="NoResize">
<Window.Resources>
<views:BaseScreenView.Resources>
<Style TargetType="DataGridColumnHeader">
<!-- 去除列头的间距 -->
<Setter Property="Padding" Value="0"/>
@@ -26,132 +26,114 @@
<converters1:EmptyToVisibilityConverter x:Key="EmptyToVisibilityConverter" />
<converters:NumberToStringConverter x:Key="NumberToStringConverter"/>
<converters1:DateTimeToStringConverter x:Key="DateTimeToStringConverter" Format="HH:mm" />
</Window.Resources>
<StackPanel Orientation="Vertical">
<DataGrid ItemsSource="{Binding LeftScreen}" AutoGenerateColumns="False"
</views:BaseScreenView.Resources>
<DataGrid ItemsSource="{Binding LeftScreen}" AutoGenerateColumns="False" BorderThickness="0"
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" Background="#0036DF" Width="145"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<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" Background="#0036DF" Width="145"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<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" Background="#0036DF" Width="145"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="TextAlignment" Value="Center"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding TrainNumber}">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="车次" FontSize="18" Padding="2" HorizontalAlignment="Stretch" TextAlignment="Center" Background="#0036DF" Width="120"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="TextAlignment" Value="Center"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Terminal}">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="终到站" FontSize="18" Padding="2" HorizontalAlignment="Stretch" TextAlignment="Center" Background="#0036DF" Width="120"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<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="开点" FontSize="18" Padding="2" HorizontalAlignment="Stretch" TextAlignment="Center" Background="#0036DF" Width="120"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<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" Background="#0036DF" Width="145"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<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" Background="#0036DF" Width="145"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="TextAlignment" Value="Center"/>
<Setter Property="Foreground" Value="#EF66F4"/>
<Setter Property="Visibility" Value="{Binding TrainNumber,Converter={StaticResource EmptyToVisibilityConverter}}"/>
</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" Background="#0036DF" 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" Background="#0036DF" Width="145"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="TextAlignment" Value="Center"/>
<Setter Property="Visibility" Value="{Binding TrainNumber,Converter={StaticResource EmptyToVisibilityConverter}}"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
</DataGrid.Columns>
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="Background" Value="#0036DF"/>
</Style>
</DataGrid.RowStyle>
</DataGrid>
<TextBlock Background="#0036DF" Foreground="#EF66F4" TextAlignment="Center" Padding="2" Text="{Binding Text,Mode=OneWay}"/>
</StackPanel>
<DataGridTextColumn Binding="{Binding Platform}">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="站台" FontSize="18" Padding="2" HorizontalAlignment="Stretch" TextAlignment="Center" Background="#0036DF" Width="120"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<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="状态" FontSize="18" Padding="2" HorizontalAlignment="Stretch" TextAlignment="Center" Background="#0036DF" Width="120"/>
</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="车厢" FontSize="18" Padding="2" HorizontalAlignment="Stretch" TextAlignment="Center" Background="#0036DF" Width="120"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="TextAlignment" Value="Center"/>
<Setter Property="Visibility" Value="{Binding TrainNumber,Converter={StaticResource EmptyToVisibilityConverter}}"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
</DataGrid.Columns>
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="Background" Value="#0036DF"/>
</Style>
</DataGrid.RowStyle>
</DataGrid>
</views:BaseScreenView>

View File

@@ -1,12 +1,6 @@
using CRSim.ScreenSimulator.ViewModels.BeijingNan;
using System.Windows;
using System.Windows.Input;
using System.Windows.Media;
namespace CRSim.ScreenSimulator.Views.BeijingNan
{
/// <summary>
/// SecondaryScreen.xaml 的交互逻辑
/// </summary>
public partial class TicketCheckScreenView : BaseScreenView
{
public TicketCheckScreenViewModel ViewModel { get; }