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 }; } }