mirror of
https://github.com/denglihong2007/CRSim
synced 2026-08-09 02:56:00 +08:00
feat: 添加大庆东站站台屏和北京站到达屏
This commit is contained in:
@@ -22,12 +22,13 @@ namespace CRSim.ScreenSimulator.Converters
|
||||
var serviceProvider = (IServiceProvider)Application.Current.Resources["ServiceProvider"];
|
||||
_timeService = serviceProvider.GetRequiredService<ITimeService>();
|
||||
_settings = serviceProvider.GetRequiredService<ISettingsService>().GetSettings();
|
||||
if (DisplayMode == "Arrive" || values[1] == null)
|
||||
if (DisplayMode == "Arrive" || ( values.Length > 1 && values[1] == null))
|
||||
{
|
||||
if (values[0] is DateTime arriveTime)
|
||||
{
|
||||
return _timeService.GetDateTimeNow() > arriveTime ? ArrivedText : ArrivingText;
|
||||
}
|
||||
return string.Empty;
|
||||
}
|
||||
if (values[1] is DateTime departureTime && departureTime != new DateTime())
|
||||
{
|
||||
@@ -66,4 +67,4 @@ namespace CRSim.ScreenSimulator.Converters
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
using CRSim.Core.Models;
|
||||
using CRSim.Core.Services;
|
||||
using CRSim.ScreenSimulator.Models;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Windows;
|
||||
namespace CRSim.ScreenSimulator.ViewModels.Beijing
|
||||
{
|
||||
public class ArrivalScreenViewModel : ScreenViewModel
|
||||
{
|
||||
public ObservableCollection<TrainInfo> Screen { get; set; } = [];
|
||||
public ArrivalScreenViewModel(ITimeService timeService, ISettingsService settingsService)
|
||||
: base(timeService, settingsService)
|
||||
{
|
||||
StationType = StationType.Departure;
|
||||
timeService.RefreshSecondsElapsed += RefreshDisplay;
|
||||
Initialize();
|
||||
}
|
||||
private async void Initialize()
|
||||
{
|
||||
ItemsPerPage = 2;
|
||||
await WaitForDataLoadAsync();
|
||||
RefreshDisplay(null,null);
|
||||
}
|
||||
private void RefreshDisplay(object? sender, EventArgs e)
|
||||
{
|
||||
Application.Current.Dispatcher.Invoke(() =>
|
||||
{
|
||||
Screen.Clear();
|
||||
for (int i = 0; i < ItemsPerPage; i++)
|
||||
{
|
||||
Screen.Add(TrainInfo.Count > i ? TrainInfo[i] : new());
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
using CRSim.Core.Models;
|
||||
using CRSim.Core.Services;
|
||||
using CRSim.ScreenSimulator.Models;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Windows;
|
||||
namespace CRSim.ScreenSimulator.ViewModels.Daqingdong
|
||||
{
|
||||
public class PlatformScreenViewModel : ScreenViewModel
|
||||
{
|
||||
public ObservableCollection<TrainInfo> Screen { get; set; } = [];
|
||||
public PlatformScreenViewModel(ITimeService timeService, ISettingsService settingsService)
|
||||
: base(timeService, settingsService)
|
||||
{
|
||||
StationType = StationType.Departure;
|
||||
timeService.RefreshSecondsElapsed += RefreshDisplay;
|
||||
Initialize();
|
||||
}
|
||||
private async void Initialize()
|
||||
{
|
||||
ItemsPerPage = 3;
|
||||
await WaitForDataLoadAsync();
|
||||
RefreshDisplay(null,null);
|
||||
}
|
||||
private void RefreshDisplay(object? sender, EventArgs e)
|
||||
{
|
||||
Application.Current.Dispatcher.Invoke(() =>
|
||||
{
|
||||
Screen.Clear();
|
||||
for (int i = 0; i < ItemsPerPage; i++)
|
||||
{
|
||||
Screen.Add(TrainInfo.Count > i ? TrainInfo[i] : new());
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
144
CRSim.ScreenSimulator/Views/Beijing/ArrivalScreenView.xaml
Normal file
144
CRSim.ScreenSimulator/Views/Beijing/ArrivalScreenView.xaml
Normal file
@@ -0,0 +1,144 @@
|
||||
<Window x:Class="CRSim.ScreenSimulator.Views.Beijing.ArrivalScreenView"
|
||||
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.Beijing"
|
||||
mc:Ignorable="d"
|
||||
xmlns:converters="clr-namespace:CRSim.ScreenSimulator.Converters"
|
||||
xmlns:converters1="clr-namespace:CRSim.Shared.Converters;assembly=CRSim.Shared"
|
||||
FontFamily="等线" FontSize="25" FontWeight="Bold"
|
||||
Title="引导屏" SizeToContent="WidthAndHeight"
|
||||
WindowStyle="None" AllowsTransparency="True" Background="#253f71"
|
||||
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="#253f71"/>
|
||||
<Setter Property="BorderThickness" Value="0"/>
|
||||
</Style>
|
||||
<converters:TrainStateColorConverter x:Key="TrainStateColorConverter"/>
|
||||
<converters:LandmarkToStringConverter x:Key="LandmarkToStringConverter"/>
|
||||
<converters1:EmptyToVisibilityConverter x:Key="EmptyToVisibilityConverter" />
|
||||
<converters:LocationToStringConverter x:Key="LocationToStringConverter" DisplayMode="least" />
|
||||
<converters:TrainStateConverter x:Key="TrainStateConverter" ArrivingText="正点到达" DisplayMode="Arrive" />
|
||||
<converters:NumberToStringConverter x:Key="NumberToStringConverter"/>
|
||||
<converters1:DateTimeToStringConverter x:Key="DateTimeToStringConverter" Format="HH:mm" />
|
||||
</Window.Resources>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Grid Background="#253f71" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Width="150">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Text="{Binding ThisPlatform}" FontSize="50" TextAlignment="Center" VerticalAlignment="Center" FontFamily="黑体" FontWeight="Black" Foreground="#ffffff" Margin="10,0,0,25">
|
||||
<TextBlock.LayoutTransform>
|
||||
<ScaleTransform ScaleX="1.25" ScaleY="1"/>
|
||||
</TextBlock.LayoutTransform>
|
||||
</TextBlock>
|
||||
<TextBlock Text="站台" FontSize="18" TextAlignment="Left" VerticalAlignment="Center" FontFamily="黑体" FontWeight="Black" Foreground="#ffffff" Margin="25,50,0,0" />
|
||||
<TextBlock Text="Platform" FontSize="16" TextAlignment="Left" VerticalAlignment="Center" FontFamily="黑体" FontWeight="Black" Foreground="#ffffff" Margin="85,50,0,0" />
|
||||
</Grid>
|
||||
<StackPanel Orientation="Vertical">
|
||||
<DataGrid ItemsSource="{Binding Screen}" AutoGenerateColumns="False"
|
||||
CanUserResizeColumns="False" CanUserSortColumns="False" CanUserAddRows="False"
|
||||
CanUserResizeRows="False" CanUserReorderColumns="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="#253f71" Width="110"/>
|
||||
</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 Origin}">
|
||||
<DataGridTextColumn.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="始发站" Padding="2" HorizontalAlignment="Stretch" TextAlignment="Center" Background="#253f71" Width="110"/>
|
||||
</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="#253f71" Width="110"/>
|
||||
</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 ArrivalTime, Converter={StaticResource DateTimeToStringConverter}}">
|
||||
<DataGridTextColumn.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="到点" Padding="2" HorizontalAlignment="Stretch" TextAlignment="Center" Background="#253f71" Width="100"/>
|
||||
</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="#253f71" Width="80"/>
|
||||
</DataTemplate>
|
||||
</DataGridTextColumn.HeaderTemplate>
|
||||
<DataGridTextColumn.ElementStyle>
|
||||
<Style TargetType="TextBlock">
|
||||
<Setter Property="VerticalAlignment" Value="Center"/>
|
||||
<Setter Property="TextAlignment" Value="Center"/>
|
||||
</Style>
|
||||
</DataGridTextColumn.ElementStyle>
|
||||
</DataGridTextColumn>
|
||||
<DataGridTextColumn>
|
||||
<DataGridTextColumn.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="状态" Padding="2" HorizontalAlignment="Stretch" TextAlignment="Center" Background="#253f71" Width="130"/>
|
||||
</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.Binding>
|
||||
<MultiBinding Converter="{StaticResource TrainStateConverter}">
|
||||
<Binding Path="ArrivalTime" />
|
||||
</MultiBinding>
|
||||
</DataGridTextColumn.Binding>
|
||||
</DataGridTextColumn>
|
||||
</DataGrid.Columns>
|
||||
<DataGrid.RowStyle>
|
||||
<Style TargetType="DataGridRow">
|
||||
<Setter Property="Background" Value="#253f71"/>
|
||||
</Style>
|
||||
</DataGrid.RowStyle>
|
||||
</DataGrid>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</Window>
|
||||
@@ -0,0 +1,36 @@
|
||||
using CRSim.ScreenSimulator.ViewModels.Beijing;
|
||||
using System.Windows;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
namespace CRSim.ScreenSimulator.Views.Beijing
|
||||
{
|
||||
/// <summary>
|
||||
/// SecondaryScreen.xaml 的交互逻辑
|
||||
/// </summary>
|
||||
public partial class ArrivalScreenView : Window
|
||||
{
|
||||
public ArrivalScreenViewModel ViewModel { get; }
|
||||
public ArrivalScreenView(ArrivalScreenViewModel viewModel)
|
||||
{
|
||||
InitializeComponent();
|
||||
RenderOptions.SetEdgeMode(this, EdgeMode.Aliased);
|
||||
ViewModel = viewModel;
|
||||
DataContext = viewModel;
|
||||
}
|
||||
private void Window_MouseDown(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
if (e.ChangedButton == MouseButton.Left)
|
||||
{
|
||||
DragMove();
|
||||
}
|
||||
}
|
||||
|
||||
private void Window_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.Key == Key.Escape)
|
||||
{
|
||||
Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
187
CRSim.ScreenSimulator/Views/Daqingdong/PlatformScreenView.xaml
Normal file
187
CRSim.ScreenSimulator/Views/Daqingdong/PlatformScreenView.xaml
Normal file
@@ -0,0 +1,187 @@
|
||||
<Window x:Class="CRSim.ScreenSimulator.Views.Daqingdong.PlatformScreenView"
|
||||
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:pp="https://www.cnblogs.com/pumbaa"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:local="clr-namespace:CRSim.ScreenSimulator.Views.Daqingdong"
|
||||
xmlns:sys="clr-namespace:System;assembly=mscorlib"
|
||||
mc:Ignorable="d"
|
||||
xmlns:converters="clr-namespace:CRSim.ScreenSimulator.Converters"
|
||||
xmlns:converters1="clr-namespace:CRSim.Shared.Converters;assembly=CRSim.Shared"
|
||||
FontFamily="等线" FontSize="25" FontWeight="Bold"
|
||||
Title="引导屏" SizeToContent="WidthAndHeight"
|
||||
WindowStyle="None" AllowsTransparency="True" Background="#201921" Foreground="#fdfce5"
|
||||
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="#201921"/>
|
||||
<Setter Property="BorderThickness" Value="0"/>
|
||||
</Style>
|
||||
<converters:TrainStateConverter x:Key="TrainStateConverter"/>
|
||||
<converters:TrainStateColorConverter x:Key="TrainStateColorConverter"/>
|
||||
<converters:LandmarkToStringConverter x:Key="LandmarkToStringConverter"/>
|
||||
<converters1:EmptyToVisibilityConverter x:Key="EmptyToVisibilityConverter" />
|
||||
<converters:LocationToStringConverter x:Key="LocationToStringConverter" DisplayMode="least" />
|
||||
<converters:NumberToStringConverter x:Key="NumberToStringConverter"/>
|
||||
<converters1:DateTimeToStringConverter x:Key="DateTimeToStringConverter" Format="HH:mm" />
|
||||
</Window.Resources>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Grid Background="#2556ff" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Width="180">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Text="{Binding ThisPlatform}" FontSize="80" TextAlignment="Center" VerticalAlignment="Center" FontFamily="黑体" FontWeight="Black" Foreground="#ffffff" Margin="-80,0,0,0">
|
||||
<TextBlock.LayoutTransform>
|
||||
<ScaleTransform ScaleX="1.25" ScaleY="1"/>
|
||||
</TextBlock.LayoutTransform>
|
||||
</TextBlock>
|
||||
<TextBlock Text="站 台" FontSize="35" TextAlignment="Left" VerticalAlignment="Center" FontFamily="黑体" FontWeight="Black" Foreground="#ffffff" Margin="75,0,0,22" />
|
||||
<TextBlock Text="Platfrom" FontSize="23" TextAlignment="Left" VerticalAlignment="Center" FontFamily="黑体" FontWeight="Black" Foreground="#ffffff" Margin="75,32,0,0" />
|
||||
</Grid>
|
||||
<StackPanel Orientation="Vertical">
|
||||
<DataGrid ItemsSource="{Binding Screen}" AutoGenerateColumns="False"
|
||||
CanUserResizeColumns="False" CanUserSortColumns="False" CanUserAddRows="False"
|
||||
CanUserResizeRows="False" CanUserReorderColumns="False" ClipToBounds="False"
|
||||
IsReadOnly="True" GridLinesVisibility="None" RowHeight="35" Foreground="White"
|
||||
HeadersVisibility="Column" IsEnabled="False">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn>
|
||||
<DataGridTextColumn.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="车厢" Padding="2" HorizontalAlignment="Stretch" TextAlignment="Center" Background="#201921" Foreground="#ff1111" 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.Binding>
|
||||
<MultiBinding Converter="{StaticResource LocationToStringConverter}">
|
||||
<Binding Path="Length" />
|
||||
<Binding Path="DataContext.Location" RelativeSource="{RelativeSource AncestorType={x:Type DataGrid}}" />
|
||||
<Binding Source="left" />
|
||||
</MultiBinding>
|
||||
</DataGridTextColumn.Binding>
|
||||
</DataGridTextColumn>
|
||||
<DataGridTextColumn Binding="{Binding TrainNumber}">
|
||||
<DataGridTextColumn.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="车次" Padding="2" HorizontalAlignment="Stretch" TextAlignment="Center" Background="#201921" Foreground="#ff1111" 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 Origin}">
|
||||
<DataGridTextColumn.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="始发站" Padding="2" HorizontalAlignment="Stretch" TextAlignment="Center" Background="#201921" Foreground="#ff1111" Width="140"/>
|
||||
</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="#201921" Foreground="#ff1111" Width="140"/>
|
||||
</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="#201921" Foreground="#ff1111" Width="80"/>
|
||||
</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="#201921" Foreground="#ff1111" 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.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="车厢" Padding="2" HorizontalAlignment="Stretch" TextAlignment="Center" Background="#201921" Foreground="#ff1111" 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.Binding>
|
||||
<MultiBinding Converter="{StaticResource LocationToStringConverter}">
|
||||
<Binding Path="Length" />
|
||||
<Binding Path="DataContext.Location" RelativeSource="{RelativeSource AncestorType={x:Type DataGrid}}" />
|
||||
<Binding Source="right" />
|
||||
</MultiBinding>
|
||||
</DataGridTextColumn.Binding>
|
||||
</DataGridTextColumn>
|
||||
</DataGrid.Columns>
|
||||
<DataGrid.RowStyle>
|
||||
<Style TargetType="DataGridRow">
|
||||
<Setter Property="Background" Value="#201921"/>
|
||||
<Setter Property="Foreground" Value="#eedd82"/>
|
||||
</Style>
|
||||
</DataGrid.RowStyle>
|
||||
<DataGrid.CellStyle>
|
||||
<Style TargetType="DataGridCell">
|
||||
<Setter Property="Foreground" Value="#eedd82"/>
|
||||
</Style>
|
||||
</DataGrid.CellStyle>
|
||||
</DataGrid>
|
||||
</StackPanel>
|
||||
<Grid Background="#2556ff" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Width="180">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Text="{Binding ThisPlatform}" FontSize="80" TextAlignment="Center" VerticalAlignment="Center" FontFamily="黑体" FontWeight="Black" Foreground="#ffffff" Margin="-85,0,0,0">
|
||||
<TextBlock.LayoutTransform>
|
||||
<ScaleTransform ScaleX="1.25" ScaleY="1"/>
|
||||
</TextBlock.LayoutTransform>
|
||||
</TextBlock>
|
||||
<TextBlock Text="站 台" FontSize="35" TextAlignment="Left" VerticalAlignment="Center" FontFamily="黑体" FontWeight="Black" Foreground="#ffffff" Margin="75,0,0,22" />
|
||||
<TextBlock Text="Platfrom" FontSize="23" TextAlignment="Left" VerticalAlignment="Center" FontFamily="黑体" FontWeight="Black" Foreground="#ffffff" Margin="75,32,0,0" />
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</Window>
|
||||
@@ -0,0 +1,36 @@
|
||||
using CRSim.ScreenSimulator.ViewModels.Daqingdong;
|
||||
using System.Windows;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
namespace CRSim.ScreenSimulator.Views.Daqingdong
|
||||
{
|
||||
/// <summary>
|
||||
/// SecondaryScreen.xaml 的交互逻辑
|
||||
/// </summary>
|
||||
public partial class PlatformScreenView : Window
|
||||
{
|
||||
public PlatformScreenViewModel ViewModel { get; }
|
||||
public PlatformScreenView(PlatformScreenViewModel viewModel)
|
||||
{
|
||||
InitializeComponent();
|
||||
RenderOptions.SetEdgeMode(this, EdgeMode.Aliased);
|
||||
ViewModel = viewModel;
|
||||
DataContext = viewModel;
|
||||
}
|
||||
private void Window_MouseDown(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
if (e.ChangedButton == MouseButton.Left)
|
||||
{
|
||||
DragMove();
|
||||
}
|
||||
}
|
||||
|
||||
private void Window_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.Key == Key.Escape)
|
||||
{
|
||||
Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -67,7 +67,7 @@
|
||||
services.AddTransient<ScreenSimulator.Views.Zibo.PlatformScreenView>();
|
||||
services.AddTransient<ScreenSimulator.ViewModels.Zibo.ConcourseBridgeScreenViewModel>();
|
||||
services.AddTransient<ScreenSimulator.Views.Zibo.ConcourseBridgeScreenView>();
|
||||
services.AddTransient<ScreenSimulator.ViewModels.Jinanxi.SmallScreenViewModel>();
|
||||
services.AddTransient<ScreenSimulator.ViewModels.Beijing.ArrivalScreenViewModel>();
|
||||
services.AddTransient<ScreenSimulator.Views.Jinanxi.SmallScreenView>();
|
||||
services.AddTransient<ScreenSimulator.ViewModels.GuangdongIntercity.SecondaryScreenViewModel>();
|
||||
services.AddTransient<ScreenSimulator.Views.GuangdongIntercity.SecondaryScreenView>();
|
||||
@@ -81,6 +81,10 @@
|
||||
services.AddTransient<ScreenSimulator.Views.FuzhouNan.TicketCheckScreenView>();
|
||||
services.AddTransient<ScreenSimulator.ViewModels.Ankang.ExitScreenViewModel>();
|
||||
services.AddTransient<ScreenSimulator.Views.Ankang.ExitScreenView>();
|
||||
services.AddTransient<ScreenSimulator.Views.Beijing.ArrivalScreenView>();
|
||||
services.AddTransient<ScreenSimulator.ViewModels.Jinanxi.SmallScreenViewModel>();
|
||||
services.AddTransient<ScreenSimulator.Views.Daqingdong.PlatformScreenView>();
|
||||
services.AddTransient<ScreenSimulator.ViewModels.Daqingdong.PlatformScreenViewModel>();
|
||||
}).Build();
|
||||
|
||||
[STAThread]
|
||||
|
||||
BIN
CRSim/Assets/StyleImages/Beijing/ArrivalScreen.png
Normal file
BIN
CRSim/Assets/StyleImages/Beijing/ArrivalScreen.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.7 KiB |
BIN
CRSim/Assets/StyleImages/Daqingdong/PlatformScreen.png
Normal file
BIN
CRSim/Assets/StyleImages/Daqingdong/PlatformScreen.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.1 KiB |
@@ -72,6 +72,8 @@
|
||||
<Resource Include="Assets\StyleImages\Zibo\TicketCheckScreen.png" />
|
||||
<Resource Include="Assets\StyleImages\Zibo\PlatformScreen.png" />
|
||||
<Resource Include="Assets\StyleImages\Zibo\ConcourseBridgeScreen.png" />
|
||||
<Resource Include="Assets\StyleImages\Beijing\ArrivalScreen.png" />
|
||||
<Resource Include="Assets\StyleImages\Daqingdong\PlatformScreen.png" />
|
||||
<Resource Include="Assets\win11-dashboard.dark.png" />
|
||||
<Resource Include="Assets\win11-dashboard.light.png" />
|
||||
<EmbeddedResource Include="Models\StylesInfoData.json" />
|
||||
|
||||
@@ -259,5 +259,30 @@
|
||||
"Station",
|
||||
"Text"
|
||||
]
|
||||
},
|
||||
{
|
||||
"UniqueId": "Beijing.ArrivalScreen",
|
||||
"Title": "北京站到达看板",
|
||||
"Station": "北京",
|
||||
"Author": "wxl0430",
|
||||
"Type": "到达屏(站台)",
|
||||
"ImagePath": "Assets/StyleImages/Beijing/ArrivalScreen.png",
|
||||
"Parameters": [
|
||||
"Station",
|
||||
"Platform"
|
||||
]
|
||||
},
|
||||
{
|
||||
"UniqueId": "Daqingdong.PlatformScreen",
|
||||
"Title": "大庆东站站台看板",
|
||||
"Station": "大庆东",
|
||||
"Author": "wxl0430",
|
||||
"Type": "站台屏",
|
||||
"ImagePath": "Assets/StyleImages/Daqingdong/PlatformScreen.png",
|
||||
"Parameters": [
|
||||
"Station",
|
||||
"Platform",
|
||||
"Location"
|
||||
]
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user