using System.Collections.ObjectModel; using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.Input; using SSPCTester.Logic.Models; namespace SSPCTester.UI.ViewModels; /// 首页 / 概览。 public partial class HomeViewModel : ObservableObject { private readonly MainViewModel _main; public HomeViewModel(MainViewModel main) { _main = main; Projects = _main.AllProjects; } public ObservableCollection Projects { get; } [RelayCommand] private void OpenProject(Project? p) { if (p == null) return; _main.OpenProjectInfo(p); } [RelayCommand] private async Task NewProject() { await _main.NewProjectCommand.ExecuteAsync(null); } }