using System.Collections.ObjectModel; using CommunityToolkit.Mvvm.ComponentModel; using Opc.Ua; namespace PMSWPF.Models; /// /// 表示OPC UA节点,用于构建节点树。 /// public partial class OpcUaNode : ObservableObject { /// /// 节点的显示名称。 /// public string DisplayName { get; set; } /// /// 节点的唯一标识符。 /// public NodeId NodeId { get; set; } /// /// 节点的类型(例如,文件夹、变量)。 /// public NodeType NodeType { get; set; } /// /// 子节点集合。 /// [ObservableProperty] private ObservableCollection _children; /// /// 指示节点是否已加载子节点。 /// [ObservableProperty] private bool _isLoaded; /// /// 指示节点是否正在加载子节点。 /// [ObservableProperty] private bool _isLoading; /// /// 节点的完整路径(可选,用于调试或显示)。 /// public string Path { get; set; } /// /// 构造函数。 /// /// 显示名称。 /// 节点ID。 /// 节点类型。 public OpcUaNode(string displayName, NodeId nodeId, NodeType nodeType) { DisplayName = displayName; NodeId = nodeId; NodeType = nodeType; Children = new ObservableCollection(); } } /// /// OPC UA节点类型枚举。 /// public enum NodeType { Folder, Object, Variable }