mirror of
https://github.com/wwiinnddyy/LanMountainDesktop.git
synced 2026-06-20 23:54:26 +08:00
fix.依旧在调整我们的在线安装器
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using FluentIcons.Common;
|
||||
using LanDesktopPLONDS.Installer.Models;
|
||||
|
||||
namespace LanDesktopPLONDS.Installer.ViewModels;
|
||||
@@ -6,7 +7,7 @@ namespace LanDesktopPLONDS.Installer.ViewModels;
|
||||
public sealed partial class InstallerStepViewModel(
|
||||
InstallerStepId stepId,
|
||||
string title,
|
||||
string iconKey) : ObservableObject
|
||||
Icon icon) : ObservableObject
|
||||
{
|
||||
[ObservableProperty]
|
||||
private bool _isUnlocked;
|
||||
@@ -14,9 +15,43 @@ public sealed partial class InstallerStepViewModel(
|
||||
[ObservableProperty]
|
||||
private bool _isSelected;
|
||||
|
||||
[ObservableProperty]
|
||||
private bool _isCompleted;
|
||||
|
||||
public InstallerStepId StepId { get; } = stepId;
|
||||
|
||||
public string Title { get; } = title;
|
||||
|
||||
public string IconKey { get; } = iconKey;
|
||||
public Icon Icon { get; } = icon;
|
||||
|
||||
public bool IsLocked => !IsUnlocked;
|
||||
|
||||
public Icon DisplayIcon => IsLocked
|
||||
? Icon.LockClosed
|
||||
: IsCompleted
|
||||
? Icon.CheckmarkCircle
|
||||
: Icon;
|
||||
|
||||
public bool IsAvailable => IsUnlocked && !IsSelected && !IsCompleted;
|
||||
|
||||
partial void OnIsUnlockedChanged(bool value)
|
||||
{
|
||||
_ = value;
|
||||
OnPropertyChanged(nameof(IsLocked));
|
||||
OnPropertyChanged(nameof(IsAvailable));
|
||||
OnPropertyChanged(nameof(DisplayIcon));
|
||||
}
|
||||
|
||||
partial void OnIsSelectedChanged(bool value)
|
||||
{
|
||||
_ = value;
|
||||
OnPropertyChanged(nameof(IsAvailable));
|
||||
}
|
||||
|
||||
partial void OnIsCompletedChanged(bool value)
|
||||
{
|
||||
_ = value;
|
||||
OnPropertyChanged(nameof(DisplayIcon));
|
||||
OnPropertyChanged(nameof(IsAvailable));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user