mirror of
https://github.com/denglihong2007/CRSim
synced 2026-08-10 03:16:08 +08:00
Merge pull request #200 from wxl0430/master
feat: #183 #188 添加了海拉尔站主要看板和牙克石站站台看板
This commit is contained in:
BIN
CRSim.ScreenSimulator/Assets/Hailaer/PrimaryScreen.png
Normal file
BIN
CRSim.ScreenSimulator/Assets/Hailaer/PrimaryScreen.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 38 KiB |
BIN
CRSim.ScreenSimulator/Assets/Yakeshi/PlatformScreen.png
Normal file
BIN
CRSim.ScreenSimulator/Assets/Yakeshi/PlatformScreen.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
@@ -134,6 +134,7 @@
|
||||
<Resource Include="Assets\Fuzhou\TicketCheckScreen.png" />
|
||||
<Resource Include="Assets\GuangdongIntercity\SecondaryScreen.png" />
|
||||
<Resource Include="Assets\Guangyuan\PrimaryScreen.png" />
|
||||
<Resource Include="Assets\Hailaer\PrimaryScreen.png" />
|
||||
<Resource Include="Assets\Hanzhong\Image.png" />
|
||||
<Resource Include="Assets\Hanzhong\PlatformScreen.png" />
|
||||
<Resource Include="Assets\Harbin\PrimaryScreen.png" />
|
||||
@@ -152,6 +153,7 @@
|
||||
<Resource Include="Assets\XuzhouMetro\Metro.png" />
|
||||
<Resource Include="Assets\XuzhouMetro\PlatformScreen.png" />
|
||||
<Resource Include="Assets\XuzhouMetro\XuzhouMetro-Icon.png" />
|
||||
<Resource Include="Assets\Yakeshi\PlatformScreen.png" />
|
||||
<Resource Include="Assets\Zibo\ConcourseBridgeScreen.png" />
|
||||
<Resource Include="Assets\Zibo\PlatformScreen.png" />
|
||||
<Resource Include="Assets\Zibo\PrimaryScreen.png" />
|
||||
|
||||
@@ -24,6 +24,8 @@ namespace CRSim.ScreenSimulator.Converters
|
||||
if (values[0] is int Length && values[1] is int Location)
|
||||
{
|
||||
if(DisplayMode == "least" && values[2] is string Direction){
|
||||
string AddString = "";
|
||||
if(values.Length >= 5 && values[4] is string TMP) AddString = TMP;
|
||||
if(Direction == "left")
|
||||
{
|
||||
string Arrow = DisplayArrow == "True"? "←" : "";
|
||||
@@ -31,7 +33,7 @@ namespace CRSim.ScreenSimulator.Converters
|
||||
if(IsClosedInterval == "closed"){
|
||||
if(Location < Length)
|
||||
{
|
||||
return $"{Arrow}1{HyphenText}{Location-1}";
|
||||
return $"{Arrow}{AddString}1{HyphenText}{Location-1}";
|
||||
}
|
||||
else if(Length == 1)
|
||||
{
|
||||
@@ -39,21 +41,21 @@ namespace CRSim.ScreenSimulator.Converters
|
||||
}
|
||||
else
|
||||
{
|
||||
return $"{Arrow}1{HyphenText}{Length-1}";
|
||||
return $"{Arrow}{AddString}1{HyphenText}{Length-1}";
|
||||
}
|
||||
}
|
||||
}
|
||||
if(Location <= Length)
|
||||
{
|
||||
return $"{Arrow}1{HyphenText}{Location}";
|
||||
return $"{Arrow}{AddString}1{HyphenText}{Location}";
|
||||
}
|
||||
else if(Length == 1)
|
||||
{
|
||||
return $"{Arrow}1";
|
||||
return $"{Arrow}{AddString}1";
|
||||
}
|
||||
else
|
||||
{
|
||||
return $"{Arrow}1{HyphenText}{Length}";
|
||||
return $"{Arrow}{AddString}1{HyphenText}{Length}";
|
||||
}
|
||||
}
|
||||
if(Direction == "right")
|
||||
@@ -64,10 +66,10 @@ namespace CRSim.ScreenSimulator.Converters
|
||||
}
|
||||
else if(Location+1 == Length)
|
||||
{
|
||||
return $"{Length}{Arrow}";
|
||||
return $"{Length}{AddString}{Arrow}";
|
||||
}
|
||||
else{
|
||||
return $"{Location+1}{HyphenText}{Length}{Arrow}";
|
||||
return $"{Location+1}{HyphenText}{Length}{AddString}{Arrow}";
|
||||
}
|
||||
}
|
||||
return string.Empty;
|
||||
|
||||
@@ -432,5 +432,28 @@
|
||||
"Station",
|
||||
"TicketCheck"
|
||||
]
|
||||
},
|
||||
{
|
||||
"UniqueId": "Yakeshi.PlatformScreen",
|
||||
"Title": "牙克石站站台看板",
|
||||
"Region": "牙克石",
|
||||
"Author": "wxl0430",
|
||||
"Type": "站台屏",
|
||||
"Parameters": [
|
||||
"Station",
|
||||
"Platform",
|
||||
"Location"
|
||||
]
|
||||
},
|
||||
{
|
||||
"UniqueId": "Hailaer.PrimaryScreen",
|
||||
"Title": "海拉尔站主要看板",
|
||||
"Region": "海拉尔",
|
||||
"Author": "wxl0430",
|
||||
"Type": "车站大屏",
|
||||
"Parameters": [
|
||||
"Station",
|
||||
"Text"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,16 @@
|
||||
using CRSim.Core.Models;
|
||||
using CRSim.Core.Services;
|
||||
namespace CRSim.ScreenSimulator.ViewModels.Hailaer
|
||||
{
|
||||
public class PrimaryScreenViewModel : ScreenViewModel
|
||||
{
|
||||
public PrimaryScreenViewModel(ITimeService timeService, ISettingsService settingsService)
|
||||
: base(timeService, settingsService)
|
||||
{
|
||||
ItemsPerPage = 6;
|
||||
ScreenCount = 2;
|
||||
Text = $" 开车前{settingsService.GetSettings().StopCheckInAdvanceDuration.TotalMinutes}分钟停止检票";;
|
||||
StationType = StationType.Departure;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
using CRSim.Core.Services;
|
||||
namespace CRSim.ScreenSimulator.ViewModels.Yakeshi
|
||||
{
|
||||
public class PlatformScreenViewModel : ScreenViewModel
|
||||
{
|
||||
public PlatformScreenViewModel(ITimeService timeService, ISettingsService settingsService)
|
||||
: base(timeService, settingsService)
|
||||
{
|
||||
Text = $"上下车不要拥挤,小心列车与站台之间的缝隙,看管好老人和同行的儿童";
|
||||
ItemsPerPage = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
300
CRSim.ScreenSimulator/Views/Hailaer/PrimaryScreenView.xaml
Normal file
300
CRSim.ScreenSimulator/Views/Hailaer/PrimaryScreenView.xaml
Normal file
@@ -0,0 +1,300 @@
|
||||
<views:BaseScreenView x:Class="CRSim.ScreenSimulator.Views.Hailaer.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.Hailaer"
|
||||
mc:Ignorable="d" Background="#434446"
|
||||
xmlns:views="clr-namespace:CRSim.ScreenSimulator.Views"
|
||||
xmlns:converters="clr-namespace:CRSim.ScreenSimulator.Converters"
|
||||
xmlns:converters1="clr-namespace:CRSim.Shared.Converters;assembly=CRSim.Shared">
|
||||
<views:BaseScreenView.Resources>
|
||||
<converters1:ListToStringConverter x:Key="ListToStringConverter" Separator="" />
|
||||
<converters1:EmptyToVisibilityConverter x:Key="EmptyToVisibilityConverter" />
|
||||
<converters1:DateTimeToStringConverter x:Key="DateTimeToStringConverter" Format="HH:mm" />
|
||||
<converters1:DateTimeToStringConverter x:Key="DateTimeToStringTimeConverter" Format="yyyy/M/d HH:mm:ss" />
|
||||
<converters:TrainStateConverter x:Key="TrainStateConverter" WaitingText="正在候车"/>
|
||||
<converters:TrainStateColorConverter x:Key="TrainStateColorConverter" WaitingColor="#f9fdd8"/>
|
||||
<converters:LandmarkToStringConverter x:Key="LandmarkToStringConverter"/>
|
||||
<converters:NumberToStringConverter x:Key="NumberToStringConverter"/>
|
||||
<Style TargetType="DataGridColumnHeader">
|
||||
<Setter Property="Padding" Value="0"/>
|
||||
<Setter Property="Margin" Value="0"/>
|
||||
<Setter Property="BorderBrush" Value="Transparent"/>
|
||||
<Setter Property="Height" Value="30"/>
|
||||
</Style>
|
||||
<Style x:Key="CommonTextBlockStyle" TargetType="TextBlock">
|
||||
<Setter Property="Foreground" Value="#f9fdd8"/>
|
||||
<Setter Property="HorizontalAlignment" Value="Center"/>
|
||||
<Setter Property="VerticalAlignment" Value="Center"/>
|
||||
<Setter Property="TextAlignment" Value="Center"/>
|
||||
</Style>
|
||||
<Style x:Key="CommonRowStyle" TargetType="DataGridRow">
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=AlternationIndex}" Value="0">
|
||||
<Setter Property="Background" Value="#434446"/>
|
||||
<Setter Property="Foreground" Value="#f9fdd8"/>
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
<Style x:Key="CommonHeaderStyle" TargetType="TextBlock">
|
||||
<Setter Property="HorizontalAlignment" Value="Stretch"/>
|
||||
<Setter Property="TextAlignment" Value="Center"/>
|
||||
<Setter Property="Background">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Color="#434446"/>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Color="#f2203a"/>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Setter Property="FontSize" Value="17"/>
|
||||
</Style>
|
||||
</views:BaseScreenView.Resources>
|
||||
<StackPanel Orientation="Vertical">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<views:BaseDataGrid ItemsSource="{Binding ScreenA}" FontFamily="DengXian"
|
||||
RowHeight="28" RowStyle="{StaticResource CommonRowStyle}" FontWeight="SemiBold" AlternationCount="1">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Binding="{Binding TrainNumber}" MinWidth="50">
|
||||
<DataGridTextColumn.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<StackPanel Orientation="Vertical" Width="{Binding RelativeSource={RelativeSource AncestorType=DataGridColumnHeader}, Path=ActualWidth}">
|
||||
<TextBlock Text="车次" Style="{StaticResource CommonHeaderStyle}" Padding="0,6,0,0" Height="30"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</DataGridTextColumn.HeaderTemplate>
|
||||
<DataGridTextColumn.ElementStyle>
|
||||
<Style TargetType="TextBlock" BasedOn="{StaticResource CommonTextBlockStyle}"/>
|
||||
</DataGridTextColumn.ElementStyle>
|
||||
</DataGridTextColumn>
|
||||
|
||||
<DataGridTextColumn Binding="{Binding Origin}" MinWidth="50">
|
||||
<DataGridTextColumn.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<StackPanel Orientation="Vertical" Width="{Binding RelativeSource={RelativeSource AncestorType=DataGridColumnHeader}, Path=ActualWidth}">
|
||||
<TextBlock Text="始发站" Style="{StaticResource CommonHeaderStyle}" Padding="0,6,0,0" Height="30"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</DataGridTextColumn.HeaderTemplate>
|
||||
<DataGridTextColumn.ElementStyle>
|
||||
<Style TargetType="TextBlock" BasedOn="{StaticResource CommonTextBlockStyle}"/>
|
||||
</DataGridTextColumn.ElementStyle>
|
||||
</DataGridTextColumn>
|
||||
<DataGridTextColumn Binding="{Binding Terminal}" MinWidth="50">
|
||||
<DataGridTextColumn.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<StackPanel Orientation="Vertical" Width="{Binding RelativeSource={RelativeSource AncestorType=DataGridColumnHeader}, Path=ActualWidth}">
|
||||
<TextBlock Text="终到站" Style="{StaticResource CommonHeaderStyle}" Padding="0,6,0,0" Height="30"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</DataGridTextColumn.HeaderTemplate>
|
||||
<DataGridTextColumn.ElementStyle>
|
||||
<Style TargetType="TextBlock" BasedOn="{StaticResource CommonTextBlockStyle}"/>
|
||||
</DataGridTextColumn.ElementStyle>
|
||||
</DataGridTextColumn>
|
||||
|
||||
<DataGridTextColumn Binding="{Binding ArrivalTime, Converter={StaticResource DateTimeToStringConverter}}" MinWidth="45">
|
||||
<DataGridTextColumn.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<StackPanel Orientation="Vertical" Width="{Binding RelativeSource={RelativeSource AncestorType=DataGridColumnHeader}, Path=ActualWidth}">
|
||||
<TextBlock Text="到点" Style="{StaticResource CommonHeaderStyle}" Padding="0,6,0,0" Height="30"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</DataGridTextColumn.HeaderTemplate>
|
||||
<DataGridTextColumn.ElementStyle>
|
||||
<Style TargetType="TextBlock" BasedOn="{StaticResource CommonTextBlockStyle}">
|
||||
<Setter Property="Visibility" Value="{Binding TrainNumber,Converter={StaticResource EmptyToVisibilityConverter}}"/>
|
||||
</Style>
|
||||
</DataGridTextColumn.ElementStyle>
|
||||
</DataGridTextColumn>
|
||||
|
||||
<DataGridTextColumn Binding="{Binding DepartureTime, Converter={StaticResource DateTimeToStringConverter}}" MinWidth="45">
|
||||
<DataGridTextColumn.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<StackPanel Orientation="Vertical" Width="{Binding RelativeSource={RelativeSource AncestorType=DataGridColumnHeader}, Path=ActualWidth}">
|
||||
<TextBlock Text="开点" Style="{StaticResource CommonHeaderStyle}" Padding="0,6,0,0" Height="30"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</DataGridTextColumn.HeaderTemplate>
|
||||
<DataGridTextColumn.ElementStyle>
|
||||
<Style TargetType="TextBlock" BasedOn="{StaticResource CommonTextBlockStyle}">
|
||||
<Setter Property="Visibility" Value="{Binding TrainNumber,Converter={StaticResource EmptyToVisibilityConverter}}"/>
|
||||
</Style>
|
||||
</DataGridTextColumn.ElementStyle>
|
||||
</DataGridTextColumn>
|
||||
|
||||
<DataGridTextColumn Binding="{Binding WaitingArea}" MinWidth="50">
|
||||
<DataGridTextColumn.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<StackPanel Orientation="Vertical" Width="{Binding RelativeSource={RelativeSource AncestorType=DataGridColumnHeader}, Path=ActualWidth}">
|
||||
<TextBlock Text="候车室" Style="{StaticResource CommonHeaderStyle}" Padding="0,6,0,0" Height="30"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</DataGridTextColumn.HeaderTemplate>
|
||||
<DataGridTextColumn.ElementStyle>
|
||||
<Style TargetType="TextBlock" BasedOn="{StaticResource CommonTextBlockStyle}"/>
|
||||
</DataGridTextColumn.ElementStyle>
|
||||
</DataGridTextColumn>
|
||||
|
||||
<DataGridTextColumn MinWidth="60">
|
||||
<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 RelativeSource={RelativeSource AncestorType=DataGridColumnHeader}, Path=ActualWidth}">
|
||||
<TextBlock Text="状态" Style="{StaticResource CommonHeaderStyle}" Padding="0,6,0,0" Height="30"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</DataGridTextColumn.HeaderTemplate>
|
||||
<DataGridTextColumn.ElementStyle>
|
||||
<Style TargetType="TextBlock" BasedOn="{StaticResource CommonTextBlockStyle}">
|
||||
<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>
|
||||
</views:BaseDataGrid>
|
||||
|
||||
<views:BaseDataGrid ItemsSource="{Binding ScreenB}" FontFamily="DengXian"
|
||||
RowHeight="28" RowStyle="{StaticResource CommonRowStyle}" FontWeight="SemiBold" AlternationCount="1" Margin="10,0,0,0">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Binding="{Binding TrainNumber}" MinWidth="50">
|
||||
<DataGridTextColumn.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<StackPanel Orientation="Vertical" Width="{Binding RelativeSource={RelativeSource AncestorType=DataGridColumnHeader}, Path=ActualWidth}">
|
||||
<TextBlock Text="车次" Style="{StaticResource CommonHeaderStyle}" Padding="0,6,0,0" Height="30"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</DataGridTextColumn.HeaderTemplate>
|
||||
<DataGridTextColumn.ElementStyle>
|
||||
<Style TargetType="TextBlock" BasedOn="{StaticResource CommonTextBlockStyle}"/>
|
||||
</DataGridTextColumn.ElementStyle>
|
||||
</DataGridTextColumn>
|
||||
|
||||
<DataGridTextColumn Binding="{Binding Origin}" MinWidth="50">
|
||||
<DataGridTextColumn.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<StackPanel Orientation="Vertical" Width="{Binding RelativeSource={RelativeSource AncestorType=DataGridColumnHeader}, Path=ActualWidth}">
|
||||
<TextBlock Text="始发站" Style="{StaticResource CommonHeaderStyle}" Padding="0,6,0,0" Height="30"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</DataGridTextColumn.HeaderTemplate>
|
||||
<DataGridTextColumn.ElementStyle>
|
||||
<Style TargetType="TextBlock" BasedOn="{StaticResource CommonTextBlockStyle}"/>
|
||||
</DataGridTextColumn.ElementStyle>
|
||||
</DataGridTextColumn>
|
||||
<DataGridTextColumn Binding="{Binding Terminal}" MinWidth="50">
|
||||
<DataGridTextColumn.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<StackPanel Orientation="Vertical" Width="{Binding RelativeSource={RelativeSource AncestorType=DataGridColumnHeader}, Path=ActualWidth}">
|
||||
<TextBlock Text="终到站" Style="{StaticResource CommonHeaderStyle}" Padding="0,6,0,0" Height="30"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</DataGridTextColumn.HeaderTemplate>
|
||||
<DataGridTextColumn.ElementStyle>
|
||||
<Style TargetType="TextBlock" BasedOn="{StaticResource CommonTextBlockStyle}"/>
|
||||
</DataGridTextColumn.ElementStyle>
|
||||
</DataGridTextColumn>
|
||||
|
||||
<DataGridTextColumn Binding="{Binding ArrivalTime, Converter={StaticResource DateTimeToStringConverter}}" MinWidth="45">
|
||||
<DataGridTextColumn.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<StackPanel Orientation="Vertical" Width="{Binding RelativeSource={RelativeSource AncestorType=DataGridColumnHeader}, Path=ActualWidth}">
|
||||
<TextBlock Text="到点" Style="{StaticResource CommonHeaderStyle}" Padding="0,6,0,0" Height="30"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</DataGridTextColumn.HeaderTemplate>
|
||||
<DataGridTextColumn.ElementStyle>
|
||||
<Style TargetType="TextBlock" BasedOn="{StaticResource CommonTextBlockStyle}">
|
||||
<Setter Property="Visibility" Value="{Binding TrainNumber,Converter={StaticResource EmptyToVisibilityConverter}}"/>
|
||||
</Style>
|
||||
</DataGridTextColumn.ElementStyle>
|
||||
</DataGridTextColumn>
|
||||
|
||||
<DataGridTextColumn Binding="{Binding DepartureTime, Converter={StaticResource DateTimeToStringConverter}}" MinWidth="45">
|
||||
<DataGridTextColumn.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<StackPanel Orientation="Vertical" Width="{Binding RelativeSource={RelativeSource AncestorType=DataGridColumnHeader}, Path=ActualWidth}">
|
||||
<TextBlock Text="开点" Style="{StaticResource CommonHeaderStyle}" Padding="0,6,0,0" Height="30"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</DataGridTextColumn.HeaderTemplate>
|
||||
<DataGridTextColumn.ElementStyle>
|
||||
<Style TargetType="TextBlock" BasedOn="{StaticResource CommonTextBlockStyle}">
|
||||
<Setter Property="Visibility" Value="{Binding TrainNumber,Converter={StaticResource EmptyToVisibilityConverter}}"/>
|
||||
</Style>
|
||||
</DataGridTextColumn.ElementStyle>
|
||||
</DataGridTextColumn>
|
||||
|
||||
<DataGridTextColumn Binding="{Binding WaitingArea}" MinWidth="50">
|
||||
<DataGridTextColumn.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<StackPanel Orientation="Vertical" Width="{Binding RelativeSource={RelativeSource AncestorType=DataGridColumnHeader}, Path=ActualWidth}">
|
||||
<TextBlock Text="候车室" Style="{StaticResource CommonHeaderStyle}" Padding="0,6,0,0" Height="30"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</DataGridTextColumn.HeaderTemplate>
|
||||
<DataGridTextColumn.ElementStyle>
|
||||
<Style TargetType="TextBlock" BasedOn="{StaticResource CommonTextBlockStyle}"/>
|
||||
</DataGridTextColumn.ElementStyle>
|
||||
</DataGridTextColumn>
|
||||
|
||||
<DataGridTextColumn MinWidth="60">
|
||||
<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 RelativeSource={RelativeSource AncestorType=DataGridColumnHeader}, Path=ActualWidth}">
|
||||
<TextBlock Text="状态" Style="{StaticResource CommonHeaderStyle}" Padding="0,6,0,0" Height="30"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</DataGridTextColumn.HeaderTemplate>
|
||||
<DataGridTextColumn.ElementStyle>
|
||||
<Style TargetType="TextBlock" BasedOn="{StaticResource CommonTextBlockStyle}">
|
||||
<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>
|
||||
</views:BaseDataGrid>
|
||||
</StackPanel>
|
||||
<Grid Background="#434446" HorizontalAlignment="Stretch" Height="25">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Grid.Column="0" Text="{Binding Text}" Foreground="#f2203a" Margin="30,2" FontFamily="微软雅黑" FontWeight="Bold" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
<TextBlock Grid.Column="2" Text="{Binding CurrentTime,Converter={StaticResource DateTimeToStringTimeConverter}}" Foreground="#f2203a" Margin="30,2" FontFamily="微软雅黑" FontWeight="Bold" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</views:BaseScreenView>
|
||||
@@ -0,0 +1,14 @@
|
||||
using CRSim.ScreenSimulator.ViewModels.Hailaer;
|
||||
namespace CRSim.ScreenSimulator.Views.Hailaer
|
||||
{
|
||||
public partial class PrimaryScreenView : BaseScreenView
|
||||
{
|
||||
public PrimaryScreenViewModel ViewModel { get; }
|
||||
public PrimaryScreenView(PrimaryScreenViewModel viewModel)
|
||||
{
|
||||
InitializeComponent();
|
||||
ViewModel = viewModel;
|
||||
DataContext = viewModel;
|
||||
}
|
||||
}
|
||||
}
|
||||
90
CRSim.ScreenSimulator/Views/Yakeshi/PlatformScreenView.xaml
Normal file
90
CRSim.ScreenSimulator/Views/Yakeshi/PlatformScreenView.xaml
Normal file
@@ -0,0 +1,90 @@
|
||||
<views:BaseScreenView x:Class="CRSim.ScreenSimulator.Views.Yakeshi.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.Yakeshi"
|
||||
mc:Ignorable="d"
|
||||
xmlns:converters="clr-namespace:CRSim.ScreenSimulator.Converters"
|
||||
xmlns:converters1="clr-namespace:CRSim.Shared.Converters;assembly=CRSim.Shared"
|
||||
FontFamily="黑体" FontSize="28" FontWeight="Bold" Background="#000000"
|
||||
xmlns:views="clr-namespace:CRSim.ScreenSimulator.Views">
|
||||
<Window.Resources>
|
||||
<converters1:DateTimeToStringConverter x:Key="DateTimeToStringConverter" Format="HH:mm" />
|
||||
<converters:LocationToStringConverter x:Key="LocationToStringConverter" DisplayMode="least" HyphenText="-" />
|
||||
<converters1:EmptyToVisibilityConverter x:Key="EmptyToVisibilityConverter" />
|
||||
</Window.Resources>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Grid Background="#000000" MinWidth="600">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Grid Grid.Row="0" Margin="0,3,0,0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Grid.Column="1" Text="{Binding ScreenA[0].TrainNumber}" Foreground="#d23139" Margin="15,0,0,0" FontSize="26"/>
|
||||
<TextBlock Grid.Column="2" Text="{Binding ScreenA[0].Origin}" Foreground="#d23139" FontSize="26" Margin="30,0,0,0"/>
|
||||
<TextBlock Grid.Column="3" Text="—" Foreground="#d23139" FontSize="26"/>
|
||||
<TextBlock Grid.Column="4" Text="{Binding ScreenA[0].Terminal}" Foreground="#d23139" FontSize="26"/>
|
||||
</Grid>
|
||||
<Grid Grid.Row="1" Margin="0,3,0,3">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Grid.Column="1" Text="{Binding ScreenA[0].DepartureTime,Converter={StaticResource DateTimeToStringConverter}}" Foreground="#d23139" FontSize="26"/>
|
||||
<TextBlock Grid.Column="2" Text="开" Foreground="#d23139" FontSize="26"/>
|
||||
<TextBlock Grid.Column="3" Text="{Binding ThisPlatform}" Foreground="#d23139" FontSize="26" Margin="30,0,0,0"/>
|
||||
<TextBlock Grid.Column="4" Text="站台" Foreground="#d23139" FontSize="26" Margin="0,0,5,0"/>
|
||||
</Grid>
|
||||
<Grid Grid.Row="2">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Grid.Column="1" TextAlignment="Center" Foreground="#d23139" FontSize="26">
|
||||
<TextBlock.Text>
|
||||
<MultiBinding Mode="OneWay" Converter="{StaticResource LocationToStringConverter}">
|
||||
<Binding Path="ScreenA[0].Length" />
|
||||
<Binding Path="Location" />
|
||||
<Binding Source="left" />
|
||||
<Binding Source="closed" />
|
||||
</MultiBinding>
|
||||
</TextBlock.Text>
|
||||
</TextBlock>
|
||||
<TextBlock Grid.Column="2" TextAlignment="Center" Foreground="#d23139" FontSize="26" Text="车"/>
|
||||
<TextBlock Grid.Column="4" TextAlignment="Center" Foreground="#d23139" FontSize="26">
|
||||
<TextBlock.Text>
|
||||
<MultiBinding Mode="OneWay" Converter="{StaticResource LocationToStringConverter}">
|
||||
<Binding Path="ScreenA[0].Length" />
|
||||
<Binding Path="Location" />
|
||||
<Binding Source="right" />
|
||||
<Binding Source="noclosed" />
|
||||
<Binding Source="车" />
|
||||
</MultiBinding>
|
||||
</TextBlock.Text>
|
||||
</TextBlock>
|
||||
</Grid>
|
||||
<pp:RunningText Grid.Row="3" Speed="20" Foreground="#d23139" Text="{Binding Text}" FontSize="26" FontWeight="Normal"/>
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</views:BaseScreenView>
|
||||
@@ -0,0 +1,16 @@
|
||||
using CRSim.ScreenSimulator.ViewModels.Yakeshi;
|
||||
|
||||
namespace CRSim.ScreenSimulator.Views.Yakeshi
|
||||
{
|
||||
public partial class PlatformScreenView : BaseScreenView
|
||||
{
|
||||
public PlatformScreenViewModel ViewModel { get; }
|
||||
public PlatformScreenView(PlatformScreenViewModel viewModel)
|
||||
{
|
||||
|
||||
InitializeComponent();
|
||||
ViewModel = viewModel;
|
||||
DataContext = viewModel;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user