Dispenser/DispenserUI/Models/DTO/TreeNode.cs

35 lines
889 B
C#
Raw Normal View History

2024-08-16 07:20:09 +00:00
using System;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Runtime.CompilerServices;
namespace DispenserUI.Models.DTO;
/// <summary>
/// 用于显示树状菜单
/// </summary>
public class TreeNode(string title = "", Type? viewModel = null) : INotifyPropertyChanged
{
private ObservableCollection<TreeNode> _children = [];
public string Title => title;
public ObservableCollection<TreeNode> Children
{
get => _children;
set
{
_children = value;
OnPropertyChanged();
}
}
public Type? ViewModel => viewModel;
public event PropertyChangedEventHandler? PropertyChanged;
protected virtual void OnPropertyChanged([CallerMemberName] string? propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}