37 lines
1.0 KiB
C#
37 lines
1.0 KiB
C#
|
|
using CommunityToolkit.Mvvm.ComponentModel;
|
|||
|
|
using SSPCTester.Logic.Models;
|
|||
|
|
|
|||
|
|
namespace SSPCTester.UI.ViewModels;
|
|||
|
|
|
|||
|
|
/// <summary>测试主界面(TabControl 容器)。</summary>
|
|||
|
|
public partial class TestHostViewModel : ObservableObject
|
|||
|
|
{
|
|||
|
|
[ObservableProperty] private Project? _project;
|
|||
|
|
[ObservableProperty] private TestSessionViewModel? _session;
|
|||
|
|
|
|||
|
|
public BasicTestViewModel Basic { get; }
|
|||
|
|
public CurveTestViewModel Curve { get; }
|
|||
|
|
public PowerTestViewModel Power { get; }
|
|||
|
|
public ProtectViewModel Protect { get; }
|
|||
|
|
|
|||
|
|
public TestHostViewModel(BasicTestViewModel basic, CurveTestViewModel curve, PowerTestViewModel power, ProtectViewModel protect)
|
|||
|
|
{
|
|||
|
|
Basic = basic; Curve = curve; Power = power; Protect = protect;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void SetProject(Project p)
|
|||
|
|
{
|
|||
|
|
Project = p;
|
|||
|
|
Basic.SetProject(p);
|
|||
|
|
Curve.SetProject(p);
|
|||
|
|
Power.SetProject(p);
|
|||
|
|
Protect.SetProject(p);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void AttachSession(TestSessionViewModel s)
|
|||
|
|
{
|
|||
|
|
Session = s;
|
|||
|
|
Curve.AttachSession(s);
|
|||
|
|
}
|
|||
|
|
}
|