Files

48 lines
1.4 KiB
C#

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