You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
902 B
36 lines
902 B
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<PageViewModelBase> pages = new(); |
|
|
|
public override void OnLoaded() |
|
{ |
|
CurrentPage = Pages.FirstOrDefault(); |
|
SelectedCategory = Pages.FirstOrDefault(); |
|
} |
|
|
|
partial void OnSelectedCategoryChanged(object? value) |
|
{ |
|
if (value is PageViewModelBase page) |
|
{ |
|
CurrentPage = page; |
|
} |
|
} |
|
}
|
|
|