112 lines
3.2 KiB
C#
112 lines
3.2 KiB
C#
using Model.Entity;
|
||
using Prism.Commands;
|
||
using Prism.Ioc;
|
||
using System.Collections.ObjectModel;
|
||
using UIShare.ViewModelBase;
|
||
|
||
namespace MainModule.ViewModels
|
||
{
|
||
public class MainViewModel : NavigateViewModelBase
|
||
{
|
||
public ObservableCollection<ChamberMonitorItem> Chambers { get; } = new();
|
||
private IContainerProvider _containerProvider;
|
||
public MainViewModel(IContainerProvider containerProvider) : base(containerProvider)
|
||
{
|
||
_containerProvider = containerProvider;
|
||
|
||
// 触发配置与绑定初始化
|
||
ConfigureAndBindChambers();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 核心配置与数据绑定逻辑
|
||
/// </summary>
|
||
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
|
||
});
|
||
}
|
||
}
|
||
|
||
/// <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);
|
||
}
|
||
}
|
||
} |