perf: 改进样式时间显示方式

This commit is contained in:
denglihong2007
2025-03-05 23:56:38 +08:00
parent bb51c076c0
commit e45e20b449
5 changed files with 25 additions and 13 deletions

View File

@@ -10,11 +10,7 @@ namespace CRSim.ViewModels
public readonly Settings _settings;
private readonly TaskCompletionSource<bool> _dataLoaded = new();
[ObservableProperty]
private string _currentTime;
[ObservableProperty]
private string _currentDate;
[ObservableProperty]
private string _currentSecond;
private DateTime _currentTime = new();
[ObservableProperty]
private string _text = "";
[ObservableProperty]
@@ -51,9 +47,7 @@ namespace CRSim.ViewModels
private void OnTimeElapsed(object? sender, EventArgs e)
{
CurrentTime = _timeService.GetDateTimeNow().ToString("yyyy-MM-dd HH:mm:ss");
CurrentDate = _timeService.GetDateTimeNow().ToString("yyyy-MM-dd");
CurrentSecond = _timeService.GetDateTimeNow().ToString("HH:mm:ss");
CurrentTime = _timeService.GetDateTimeNow();
}
public Task WaitForDataLoadAsync() => _dataLoaded.Task;

View File

@@ -20,6 +20,7 @@
</Style>
<converters:TicketCheckConverter x:Key="TicketCheckConverter" Separator="" />
<converters:DateTimeToStringConverter x:Key="DateTimeToStringConverter" Format="HH:mm" />
<converters:DateTimeToStringConverter x:Key="DateTimeToStringTimeConverter" Format="yyyy-MM-dd HH:mm:ss" />
<converters:TrainStateConverter x:Key="TrainStateConverter" />
<converters:TrainStateColorConverter x:Key="TrainStateColorConverter" />
</Window.Resources>
@@ -404,7 +405,7 @@
</TextBlock>
<Rectangle Width="250" HorizontalAlignment="Stretch"/>
<TextBlock FontFamily="宋体" Foreground="White" FontSize="18"
Name="labelTime" Text="{Binding CurrentTime}">
Name="labelTime" Text="{Binding CurrentTime,Converter={StaticResource DateTimeToStringTimeConverter}}">
</TextBlock>
</StackPanel>
</StackPanel>

View File

@@ -15,6 +15,8 @@
<converters:TicketCheckConverter x:Key="TicketCheckConverter" Separator=" - " />
<converters:EmptyToVisibilityConverter x:Key="EmptyToVisibilityConverter" />
<converters:DateTimeToStringConverter x:Key="DateTimeToStringConverter" Format="HH:mm" />
<converters:DateTimeToStringConverter x:Key="DateTimeToStringWeekdayConverter" Format="dddd" />
<converters:DateTimeToStringConverter x:Key="DateTimeToStringDateConverter" Format="yyyy/M/d" />
<converters:TrainStateConverter x:Key="TrainStateConverter"/>
<converters:TrainStateColorConverter x:Key="TrainStateColorConverter" WaitingColor="#ffffff" CheckingTicketsColor="#00ff00" StopCheckingTicketsColor="#ff0000"/>
<Style TargetType="DataGridColumnHeader">
@@ -76,7 +78,19 @@
<ScaleTransform ScaleX="1.7" ScaleY="1"/>
</TextBlock.LayoutTransform>
</TextBlock>
<TextBlock Grid.Column="2" Text="{Binding CurrentTime_GuangdongIntercity}" Foreground="#ffffff" Margin="30,2" HorizontalAlignment="Right" VerticalAlignment="Center" TextAlignment="Center" FontSize="10"/>
<Grid Grid.Column="2" Margin="0,2,16,2">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Text="{Binding CurrentTime,Converter={StaticResource DateTimeToStringConverter}}"
TextAlignment="Center" FontSize="12" VerticalAlignment="Center"/>
<TextBlock Grid.Row="1" Text="{Binding CurrentTime,Converter={StaticResource DateTimeToStringWeekdayConverter}}"
TextAlignment="Center" FontSize="12" VerticalAlignment="Center"/>
<TextBlock Grid.Row="2" Text="{Binding CurrentTime,Converter={StaticResource DateTimeToStringDateConverter}}"
TextAlignment="Center" FontSize="12" VerticalAlignment="Center"/>
</Grid>
</Grid>
<DataGrid ItemsSource="{Binding Screen, Mode=OneWay}" AutoGenerateColumns="False"

View File

@@ -21,6 +21,8 @@
</Style>
<converters:TicketCheckConverter x:Key="TicketCheckConverter" Separator="" />
<converters:DateTimeToStringConverter x:Key="DateTimeToStringConverter" Format="HH:mm" />
<converters:DateTimeToStringConverter x:Key="DateTimeToStringTimeConverter" Format="HH:mm:ss" />
<converters:DateTimeToStringConverter x:Key="DateTimeToStringDateConverter" Format="yyyy/MM/dd" />
<converters:TrainStateConverter x:Key="TrainStateConverter" WaitingText="正点"/>
</Window.Resources>
<StackPanel Orientation="Horizontal">
@@ -130,8 +132,8 @@
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Text="{Binding CurrentDate}" Foreground="#D75B41" FontSize="44" TextAlignment="Center"/>
<TextBlock Grid.Row="1" Text="{Binding CurrentSecond}" Foreground="#D75B41" FontSize="44" TextAlignment="Center"/>
<TextBlock Grid.Row="0" Text="{Binding CurrentTime,Converter={StaticResource DateTimeToStringDateConverter}}" Foreground="#D75B41" FontSize="44" TextAlignment="Center"/>
<TextBlock Grid.Row="1" Text="{Binding CurrentTime,Converter={StaticResource DateTimeToStringTimeConverter}}" Foreground="#D75B41" FontSize="44" TextAlignment="Center"/>
<TextBlock Grid.Row="3" Text="{Binding Text,Mode=OneWay}" Foreground="#D75B41" FontSize="16" TextAlignment="Center" Margin="2"/>
</Grid>
</StackPanel>

View File

@@ -14,6 +14,7 @@
<converters:TicketCheckConverter x:Key="TicketCheckConverter" Separator=" - " />
<converters:EmptyToVisibilityConverter x:Key="EmptyToVisibilityConverter" />
<converters:DateTimeToStringConverter x:Key="DateTimeToStringConverter" Format="HH:mm" />
<converters:DateTimeToStringConverter x:Key="DateTimeToStringTimeConverter" Format="yyyy/MM/dd HH:mm:ss" />
<converters:TrainStateConverter x:Key="TrainStateConverter" WaitingText="正点"/>
<converters:TrainStateColorConverter x:Key="TrainStateColorConverter" WaitingColor="#76C1FF"/>
<Style TargetType="DataGridColumnHeader">
@@ -318,7 +319,7 @@
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{Binding Text}" Foreground="Red" Margin="30,2"/>
<TextBlock Grid.Column="2" Text="{Binding CurrentTime}" Foreground="Red" Margin="30,2"/>
<TextBlock Grid.Column="2" Text="{Binding CurrentTime,Converter={StaticResource DateTimeToStringTimeConverter}}" Foreground="Red" Margin="30,2"/>
</Grid>
</StackPanel>
</Window>