diff --git a/CRSim.ScreenSimulator/Converters/TrainStateColorConverter.cs b/CRSim.ScreenSimulator/Converters/TrainStateColorConverter.cs index 6e11480..2c80362 100644 --- a/CRSim.ScreenSimulator/Converters/TrainStateColorConverter.cs +++ b/CRSim.ScreenSimulator/Converters/TrainStateColorConverter.cs @@ -18,11 +18,11 @@ namespace CRSim.ScreenSimulator.Converters Alternating_Row_Colors: 候车状态隔行异色显示(第4个参数控制行号)。 */ - public List WaitingColorList { get; set; } = new List { new(Colors.White), new(Colors.Yellow) }; + public List WaitingColorList { get; set; } = []; public SolidColorBrush WaitingColor { get; set; } = new(Colors.White); public SolidColorBrush CheckingTicketsColor { get; set; } = new(Colors.LightGreen); public SolidColorBrush StopCheckingTicketsColor { get; set; } = new(Colors.Red); - object IMultiValueConverter.Convert(object[] values, System.Type targetType, object parameter, System.Globalization.CultureInfo culture) + object IMultiValueConverter.Convert(object[] values, Type targetType, object parameter, CultureInfo culture) { var serviceProvider = (IServiceProvider)Application.Current.Resources["ServiceProvider"]; _timeService = serviceProvider.GetRequiredService(); diff --git a/CRSim.ScreenSimulator/ViewModels/BeijingNan/PrimaryScreenViewModel.cs b/CRSim.ScreenSimulator/ViewModels/BeijingNan/PrimaryScreenViewModel.cs index a019772..821d463 100644 --- a/CRSim.ScreenSimulator/ViewModels/BeijingNan/PrimaryScreenViewModel.cs +++ b/CRSim.ScreenSimulator/ViewModels/BeijingNan/PrimaryScreenViewModel.cs @@ -1,45 +1,15 @@ using CRSim.Core.Models; using CRSim.Core.Services; -using CRSim.ScreenSimulator.Models; -using System.Collections.ObjectModel; -using System.Windows; namespace CRSim.ScreenSimulator.ViewModels.BeijingNan { public class PrimaryScreenViewModel : ScreenViewModel { - public ObservableCollection LeftScreen { get; private set; } = []; public PrimaryScreenViewModel(ITimeService timeService, ISettingsService settingsService) : base(timeService, settingsService) { ItemsPerPage = 10; PageCount = 1; StationType = StationType.Departure; - timeService.RefreshSecondsElapsed += RefreshDisplay; - Initialize(); - } - private async void Initialize() - { - await WaitForDataLoadAsync(); - RefreshDisplay(null,null); - } - private void RefreshDisplay(object? sender, EventArgs e) - { - Application.Current.Dispatcher.Invoke(() => - { - int pageCount = (int)Math.Ceiling((double)TrainInfo.Count / (ItemsPerPage * PageCount)); - LeftScreen.Clear(); - int startIndex = CurrentPageIndex * ItemsPerPage * PageCount; - var leftItems = TrainInfo.Skip(startIndex).Take(ItemsPerPage).ToList(); - while (leftItems.Count < ItemsPerPage) // Fill up with new object() if not enough items - { - leftItems.Add(new TrainInfo()); - } - foreach (var item in leftItems) - { - LeftScreen.Add(item); - } - CurrentPageIndex = CurrentPageIndex + 1 >= Math.Min(_settings.MaxPages, pageCount) ? 0 : CurrentPageIndex + 1; - }); } } } diff --git a/CRSim.ScreenSimulator/Views/BeijingNan/PrimaryScreenView.xaml b/CRSim.ScreenSimulator/Views/BeijingNan/PrimaryScreenView.xaml index 677e25c..a45ee01 100644 --- a/CRSim.ScreenSimulator/Views/BeijingNan/PrimaryScreenView.xaml +++ b/CRSim.ScreenSimulator/Views/BeijingNan/PrimaryScreenView.xaml @@ -15,7 +15,12 @@ - + + + + + +