This commit is contained in:
“hsc”
2026-06-09 15:59:30 +08:00
parent a355373423
commit 2cab299067
2 changed files with 185 additions and 13 deletions

View File

@@ -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<ChamberMonitorItem> Chambers { get; } = new();
private IContainerProvider _containerProvider;
#endregion
public MainViewModel(IContainerProvider containerProvider ) : base(containerProvider)
public MainViewModel(IContainerProvider containerProvider) : base(containerProvider)
{
_containerProvider=containerProvider;
_containerProvider = containerProvider;
// 触发配置与绑定初始化
ConfigureAndBindChambers();
}
/// <summary>
/// 核心配置与数据绑定逻辑
/// </summary>
private void ConfigureAndBindChambers()
{
// 实例 1Modbus TCP 环境箱配置
Chambers.Add(new ChamberMonitorItem
{
Id = 1,
Name = "环境箱 01",
ProtocolType = "Modbus TCP",
IsConnected = false,
Temperature = 0.0,
Humidity = 0.0
});
// 实例 2Modbus 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
});
// 实例 4HTTP 环境箱配置
Chambers.Add(new ChamberMonitorItem
{
Id = 4,
Name = "环境箱 04",
ProtocolType = "HTTP",
IsConnected = false,
Temperature = 0.0,
Humidity = 0.0
});
}
}
}
/// <summary>
/// 环境箱 UI 状态及温湿度数据绑定模型
/// </summary>
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;
/// <summary>
/// 温度(支持通知刷新)
/// </summary>
public double Temperature
{
get => _temperature;
set => SetProperty(ref _temperature, value);
}
/// <summary>
/// 湿度(支持通知刷新)
/// </summary>
public double Humidity
{
get => _humidity;
set => SetProperty(ref _humidity, value);
}
/// <summary>
/// 连接状态True-已连接(绿灯)False-断开(红灯)
/// </summary>
public bool IsConnected
{
get => _isConnected;
set => SetProperty(ref _isConnected, value);
}
}
}