mirror of
https://github.com/denglihong2007/CRSim
synced 2026-05-14 23:55:36 +08:00
37 lines
1.2 KiB
C#
37 lines
1.2 KiB
C#
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());
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|