using System; using System.Collections.ObjectModel; using System.Windows.Media; using Telerik.Windows.Controls; namespace SWS.Model { public class TreeModel : ViewModelBase, System.ICloneable { public string ID { get; set; } private string _Text; /// /// 节点显示数据 /// public string Text { get { return _Text; } set { _Text = value; if (_Text.ToLower().EndsWith(".dwg")) { Glyph = ""; } OnPropertyChanged(nameof(Text)); } } /// /// 父级节点ID。比如某个目录下有什么文件 /// public string parentId { get; set; } private bool _isexpand; /// /// 控制展开/折叠状态 /// public bool isexpand { get { return _isexpand; } set { _isexpand = value; OnPropertyChanged(nameof(isexpand)); } } private bool isChecked=false; /// /// 是否选中状态 /// public bool IsChecked { get { return isChecked; } set { isChecked = value; OnPropertyChanged(nameof(IsChecked)); } } /// /// 节点类型 /// public string NodeType { get; set; } string _ToolTipText; /// /// 鼠标悬停提示词 /// public string ToolTipText { get { return _ToolTipText; } set { _ToolTipText = value; OnPropertyChanged(nameof(ToolTipText)); } } Brush _fontColor = new SolidColorBrush(Colors.White); /// /// 节点字体颜色 /// public Brush FontColor { get { return _fontColor; } set { _fontColor = value; OnPropertyChanged(nameof(FontColor)); } } /// /// 排序 /// public int? OrderNo { get; set; } /// /// 状态 0:检入, 1:自己检出, 2:别人检出 /// public int CheckInOutStatus { get; set; } private ObservableCollection _ChildNodes=new ObservableCollection(); public ObservableCollection ChildNodes { get { return _ChildNodes; } set { _ChildNodes = value; RaisePropertyChanged(nameof(ChildNodes)); } } /// /// 扩展数据。比如具体对象的实体类信息 /// public object NodeExtData { get; set; } string _Glyph = ""; /// /// 节点图标 /// public string Glyph { get { return _Glyph; } set { _Glyph = value; OnPropertyChanged(nameof(Glyph)); } } /// /// 克隆实体类 /// /// public object Clone() { return this.MemberwiseClone(); } } }