pro3_control_panel_v2/ViewModels/MainWindowViewModel.cs
2025-12-23 14:12:21 +08:00

64 lines
1.4 KiB
C#

using System.Collections.ObjectModel;
using System.Linq;
namespace AmebaPro3_ControlPanel.ViewModels;
public class MainWindowViewModel : ViewModelBase
{
private PageViewModelBase? _currentPage;
private string _selectedDevice = "AmebaPro3 (virtual)";
private string _connectionStatus = "Disconnected";
private string _lastRxTime = "N/A";
private long _rxBytes;
private long _txBytes;
public MainWindowViewModel()
{
Pages = new ObservableCollection<PageViewModelBase>
{
new MainPageViewModel(),
new JLinkPageViewModel()
};
CurrentPage = Pages.FirstOrDefault();
}
public ObservableCollection<PageViewModelBase> Pages { get; }
public PageViewModelBase? CurrentPage
{
get => _currentPage;
set => SetProperty(ref _currentPage, value);
}
public string SelectedDevice
{
get => _selectedDevice;
set => SetProperty(ref _selectedDevice, value);
}
public string ConnectionStatus
{
get => _connectionStatus;
set => SetProperty(ref _connectionStatus, value);
}
public string LastRxTime
{
get => _lastRxTime;
set => SetProperty(ref _lastRxTime, value);
}
public long RxBytes
{
get => _rxBytes;
set => SetProperty(ref _rxBytes, value);
}
public long TxBytes
{
get => _txBytes;
set => SetProperty(ref _txBytes, value);
}
}