using System; using System.Threading.Tasks; using BetterGenshinImpact.ViewModel.Pages.OneDragon; using CommunityToolkit.Mvvm.ComponentModel; using System.Windows.Media; namespace BetterGenshinImpact.Model; public partial class OneDragonTaskItem : ObservableObject { [ObservableProperty] private string? _name; [ObservableProperty] private Brush _statusColor = Brushes.Gray; [ObservableProperty] private bool _isEnabled = true; [ObservableProperty] private OneDragonBaseViewModel? _viewModel; public Func Action { get; private set; } public OneDragonTaskItem(string name, Func action) { Name = name; Action = action; } // public OneDragonTaskItem(Type viewModelType, Func action) // { // ViewModel = App.GetService(viewModelType) as OneDragonBaseViewModel; // if (ViewModel == null) // { // throw new ArgumentException("Invalid view model type", nameof(viewModelType)); // } // Name = ViewModel.Title; // Action = action; // } }