using System; using System.Collections.ObjectModel; using System.Windows.Input; using HMI.Core.Entity; namespace HMI.MenuManage.Entity { public class RoleMenuRel : NotifyBase { private event EventHandler SelectedChanged; public string Id { get; set; } public string RoleCode { get; set; } public string RoleName { get; set; } public string MenuCode { get; set; } public string ParentCode { get; set; } public string MenuName { get; set; } public string MenuIcon { get; set; } private bool _Selected; public bool Selected { get => _Selected; set { if (_Selected != value) { Set(ref _Selected, value); } } } public ICommand CheckCommand { get => new RelayCommand(ExcuteCheckCommand); } private void ExcuteCheckCommand(bool flag) { if (flag && Parent != null) Parent.Selected = flag; foreach (var item in Children) { item.Selected = flag; } } public RoleMenuRel Parent; private ObservableCollection _Children = new ObservableCollection(); public ObservableCollection Children { get { return _Children; } set { Set(ref _Children, value); } } public void AddChild(RoleMenuRel child) { child.Parent = this; Children.Add(child); } } }