diff --git a/MainModule/ViewModels/MainViewModel.cs b/MainModule/ViewModels/MainViewModel.cs index 79c1e02..8b0056e 100644 --- a/MainModule/ViewModels/MainViewModel.cs +++ b/MainModule/ViewModels/MainViewModel.cs @@ -1,25 +1,112 @@ using Model.Entity; using Prism.Commands; using Prism.Ioc; -using Service.Interface; using System.Collections.ObjectModel; -using System.Windows.Input; using UIShare.ViewModelBase; namespace MainModule.ViewModels { public class MainViewModel : NavigateViewModelBase { - - #region 私有字段 + public ObservableCollection Chambers { get; } = new(); private IContainerProvider _containerProvider; - - #endregion - public MainViewModel(IContainerProvider containerProvider ) : base(containerProvider) + public MainViewModel(IContainerProvider containerProvider) : base(containerProvider) { - _containerProvider=containerProvider; + _containerProvider = containerProvider; + + // 触发配置与绑定初始化 + ConfigureAndBindChambers(); } - + /// + /// 核心配置与数据绑定逻辑 + /// + private void ConfigureAndBindChambers() + { + // 实例 1:Modbus TCP 环境箱配置 + Chambers.Add(new ChamberMonitorItem + { + Id = 1, + Name = "环境箱 01", + ProtocolType = "Modbus TCP", + IsConnected = false, + Temperature = 0.0, + Humidity = 0.0 + }); + + // 实例 2:Modbus TCP B+ 环境箱配置 + Chambers.Add(new ChamberMonitorItem + { + Id = 2, + Name = "环境箱 02", + ProtocolType = "Modbus TCP B+", + IsConnected = false, + Temperature = 0.0, + Humidity = 0.0 + }); + + // 实例 3:西门子 S7 环境箱配置 + Chambers.Add(new ChamberMonitorItem + { + Id = 3, + Name = "环境箱 03", + ProtocolType = "S7", + IsConnected = false, + Temperature = 0.0, + Humidity = 0.0 + }); + + // 实例 4:HTTP 环境箱配置 + Chambers.Add(new ChamberMonitorItem + { + Id = 4, + Name = "环境箱 04", + ProtocolType = "HTTP", + IsConnected = false, + Temperature = 0.0, + Humidity = 0.0 + }); + } } -} + + /// + /// 环境箱 UI 状态及温湿度数据绑定模型 + /// + public class ChamberMonitorItem :BindableBase + { + private double _temperature; + private double _humidity; + private bool _isConnected; + + public int Id { get; set; } + public string Name { get; set; } = string.Empty; + public string ProtocolType { get; set; } = string.Empty; + + /// + /// 温度(支持通知刷新) + /// + public double Temperature + { + get => _temperature; + set => SetProperty(ref _temperature, value); + } + + /// + /// 湿度(支持通知刷新) + /// + public double Humidity + { + get => _humidity; + set => SetProperty(ref _humidity, value); + } + + /// + /// 连接状态:True-已连接(绿灯),False-断开(红灯) + /// + public bool IsConnected + { + get => _isConnected; + set => SetProperty(ref _isConnected, value); + } + } +} \ No newline at end of file diff --git a/MainModule/Views/MainView.xaml b/MainModule/Views/MainView.xaml index 7b634b1..412d16d 100644 --- a/MainModule/Views/MainView.xaml +++ b/MainModule/Views/MainView.xaml @@ -14,6 +14,91 @@ - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file