using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
namespace WCTDataMiner.Wpf.ViewModels;
///
/// 主窗口 ViewModel - 导航控制
///
public partial class MainViewModel : ObservableObject
{
private readonly ImportViewModel _importViewModel;
private readonly ScenarioListViewModel _scenarioListViewModel;
[ObservableProperty]
private ObservableObject _currentView = null!;
[ObservableProperty]
private string? _selectedTxPanel;
[ObservableProperty]
private string? _selectedTxHardware;
[ObservableProperty]
private string? _selectedTxSoftware;
[ObservableProperty]
private string? _selectedRxType;
// 筛选选项列表
public List TxPanels { get; } = new() { "全部", "singleMold", "dualMold" };
public List TxHardwares { get; } = new() { "全部", "v1.0", "v2.0" };
public List TxSoftwares { get; } = new() { "全部", "hex2_1", "hex2_2" };
public List RxTypes { get; } = new() { "全部", "iPhone15", "iPhone16", "Android" };
public MainViewModel(ImportViewModel importViewModel, ScenarioListViewModel scenarioListViewModel)
{
_importViewModel = importViewModel;
_scenarioListViewModel = scenarioListViewModel;
_currentView = _scenarioListViewModel;
}
[RelayCommand]
private void NavigateToImport()
{
CurrentView = _importViewModel;
}
[RelayCommand]
private void NavigateToScenarios()
{
CurrentView = _scenarioListViewModel;
}
[RelayCommand]
private void NavigateToPlossChart(int scenarioId)
{
CurrentView = new PlossChartViewModel { ScenarioId = scenarioId };
}
[RelayCommand]
private void NavigateToQfodChart(int scenarioId)
{
CurrentView = new QfodChartViewModel { ScenarioId = scenarioId };
}
}