123456789101112131415161718192021222324252627282930313233343536373839 |
- using CommunityToolkit.Mvvm.ComponentModel;
- using Mini8SlaveSim.Services;
- using Mini8SlaveSim.Views;
- using System.Collections.ObjectModel;
- using System.Windows.Controls;
- namespace Mini8SlaveSim.ViewModels
- {
- public partial class WorkAreaViewModel : ObservableObject
- {
- private readonly ISlaveManagementService _slaveManagementService;
- [ObservableProperty]
- private ObservableCollection<TabItem> _tabs = [];
- [ObservableProperty]
- private int _selectedTabIndex = -1;
- public WorkAreaViewModel(ISlaveManagementService slaveManagementService)
- {
- _slaveManagementService = slaveManagementService;
- _slaveManagementService.SlaveAdded += OnSlaveAdded;
- }
- private void OnSlaveAdded(object? sender, byte e)
- {
- App.Current.Dispatcher.Invoke(() =>
- {
- Tabs.Add(new TabItem()
- {
- Header = $"Slave ID:{e}",
- Content = new Mini8Tab()
- });
- SelectedTabIndex = 0;
- });
- }
- }
- }
|