mirror of
https://github.com/denglihong2007/CRSim
synced 2026-08-11 12:15:35 +08:00
chore: 简化xaml代码
This commit is contained in:
@@ -24,8 +24,8 @@ namespace CRSim.ScreenSimulator.ViewModels
|
||||
private string _thisPlatform;
|
||||
[ObservableProperty]
|
||||
private string _thisTicketCheck;
|
||||
public ObservableCollection<TrainInfo> LeftScreen { get; private set; } = [];
|
||||
public ObservableCollection<TrainInfo> RightScreen { get; private set; } = [];
|
||||
public ObservableCollection<TrainInfo> ScreenA { get; private set; } = [];
|
||||
public ObservableCollection<TrainInfo> ScreenB { get; private set; } = [];
|
||||
|
||||
public List<TrainInfo> TrainInfo { get; set; } = [];
|
||||
|
||||
@@ -148,13 +148,13 @@ namespace CRSim.ScreenSimulator.ViewModels
|
||||
{
|
||||
for (int i = 0; i < ItemsPerPage; i++)
|
||||
{
|
||||
LeftScreen.Add(TrainInfo.Count > i ? TrainInfo[i] : new());
|
||||
ScreenA.Add(TrainInfo.Count > i ? TrainInfo[i] : new());
|
||||
}
|
||||
if(LeftScreen.Count > ItemsPerPage)
|
||||
if(ScreenA.Count > ItemsPerPage)
|
||||
{
|
||||
for (int i = 0; i < ItemsPerPage; i++)
|
||||
{
|
||||
LeftScreen.RemoveAt(0);
|
||||
ScreenA.RemoveAt(0);
|
||||
}
|
||||
}
|
||||
return;
|
||||
@@ -166,7 +166,7 @@ namespace CRSim.ScreenSimulator.ViewModels
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
LeftScreen.Clear();
|
||||
ScreenA.Clear();
|
||||
var items = TrainInfo.Skip(startIndex).Take(ItemsPerPage).ToList();
|
||||
while (items.Count < ItemsPerPage)
|
||||
{
|
||||
@@ -174,14 +174,14 @@ namespace CRSim.ScreenSimulator.ViewModels
|
||||
}
|
||||
foreach (var item in items)
|
||||
{
|
||||
LeftScreen.Add(item);
|
||||
ScreenA.Add(item);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
LeftScreen.Clear();
|
||||
RightScreen.Clear();
|
||||
ScreenA.Clear();
|
||||
ScreenB.Clear();
|
||||
|
||||
var leftItems = TrainInfo.Skip(startIndex).Take(ItemsPerPage).ToList();
|
||||
while (leftItems.Count < ItemsPerPage)
|
||||
@@ -190,7 +190,7 @@ namespace CRSim.ScreenSimulator.ViewModels
|
||||
}
|
||||
foreach (var item in leftItems)
|
||||
{
|
||||
LeftScreen.Add(item);
|
||||
ScreenA.Add(item);
|
||||
}
|
||||
|
||||
var rightItems = TrainInfo.Skip(startIndex + ItemsPerPage).Take(ItemsPerPage).ToList();
|
||||
@@ -200,7 +200,7 @@ namespace CRSim.ScreenSimulator.ViewModels
|
||||
}
|
||||
foreach (var item in rightItems)
|
||||
{
|
||||
RightScreen.Add(item);
|
||||
ScreenB.Add(item);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -19,8 +19,8 @@ namespace CRSim.ScreenSimulator.ViewModels.Zibo
|
||||
Application.Current.Dispatcher.Invoke(() =>
|
||||
{
|
||||
int pageCount = (int)Math.Ceiling((double)TrainInfo.Count / (ItemsPerPage * PageCount.Value));
|
||||
LeftScreen.Clear();
|
||||
RightScreen.Clear();
|
||||
ScreenA.Clear();
|
||||
ScreenB.Clear();
|
||||
int startIndex = CurrentPageIndex * ItemsPerPage * PageCount.Value;
|
||||
var ItemsToShow = TrainInfo.Skip(startIndex).Take(ItemsPerPage * PageCount.Value).ToList();
|
||||
var leftItems = ItemsToShow.Where((item, index) => index % 2 == 0).ToList();
|
||||
@@ -35,11 +35,11 @@ namespace CRSim.ScreenSimulator.ViewModels.Zibo
|
||||
}
|
||||
foreach (var item in leftItems)
|
||||
{
|
||||
LeftScreen.Add(item);
|
||||
ScreenA.Add(item);
|
||||
}
|
||||
foreach (var item in rightItems)
|
||||
{
|
||||
RightScreen.Add(item);
|
||||
ScreenB.Add(item);
|
||||
}
|
||||
CurrentPageIndex = CurrentPageIndex + 1 >= Math.Min(_settings.MaxPages, pageCount) ? 0 : CurrentPageIndex + 1;
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user