64 lines
1.4 KiB
C#
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);
|
|
}
|
|
}
|