48 lines
1.4 KiB
C#
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>());
|
|
}
|
|
}
|
|
}
|