using System.Collections.ObjectModel;
using Prism.Mvvm;
namespace XP.Hardware.PLC.Sentry.ViewModels
{
///
/// 信号分组 ViewModel,对应一个 Tab 页 | Signal group ViewModel, corresponds to one Tab page
///
public class SignalGroupViewModel : BindableBase
{
private string _groupId = string.Empty;
private int _dbNumber;
private ObservableCollection _signals = new();
///
/// 分组 ID | Group ID
///
public string GroupId
{
get => _groupId;
set => SetProperty(ref _groupId, value ?? string.Empty);
}
///
/// DB 块号 | DB block number
///
public int DBNumber
{
get => _dbNumber;
set => SetProperty(ref _dbNumber, value);
}
///
/// 标签页标题,格式 "{GroupId} [DB{DBNumber}]" | Tab header, format "{GroupId} [DB{DBNumber}]"
///
public string TabHeader => $"{GroupId} [DB{DBNumber}]";
///
/// 该分组下的信号行集合 | Signal row collection under this group
///
public ObservableCollection Signals
{
get => _signals;
set => SetProperty(ref _signals, value ?? new ObservableCollection());
}
}
}