chore: 简化xaml代码

This commit is contained in:
denglihong2007
2025-05-31 22:08:42 +08:00
parent 5809c65873
commit 03845458e9
35 changed files with 273 additions and 376 deletions

View File

@@ -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;
}

View File

@@ -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;
});