using System.Collections.Generic; using System.Linq; using CommunityToolkit.Mvvm.ComponentModel; using StabilityMatrix.Avalonia.Views; using StabilityMatrix.Core.Attributes; namespace StabilityMatrix.Avalonia.ViewModels; [View(typeof(MainWindow))] public partial class MainWindowViewModel : ViewModelBase { public string Greeting => "Welcome to Avalonia!"; [ObservableProperty] private PageViewModelBase? currentPage; [ObservableProperty] private object? selectedCategory; [ObservableProperty] private List pages = new(); [ObservableProperty] private List footerPages = new(); public override void OnLoaded() { CurrentPage = Pages.FirstOrDefault(); SelectedCategory = Pages.FirstOrDefault(); } partial void OnSelectedCategoryChanged(object? value) { if (value is PageViewModelBase page) { CurrentPage = page; } } }