CPF/ConsoleApp1/NodeData.cs
2023-11-21 23:05:03 +08:00

71 lines
1.6 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using CPF;
namespace ConsoleApp1
{
public class NodeData : CPF.CpfObject
{
public NodeData()
{
Nodes = new Collection<NodeData>();
Nodes.CollectionChanged += Nodes_CollectionChanged;
}
private void Nodes_CollectionChanged(object sender, CollectionChangedEventArgs<NodeData> e)
{
if (e.Action == CollectionChangedAction.Add || e.Action == CollectionChangedAction.Replace)
{
e.NewItem.Parent = this;
}
}
public string Text
{
get => GetValue<string>();
set => SetValue(value);
}
public Collection<NodeData> Nodes
{
get { return GetValue<Collection<NodeData>>(); }
set { SetValue(value); }
}
public bool IsChecked
{
get { return GetValue<bool>(); }
set { SetValue(value); }
}
public NodeData Parent { get; set; }
}
public class TestData : INotifyPropertyChanged
{
public string Category { get; set; }
private float _number = 0;
public float Number
{
get
{
return _number;
}
set
{
_number = value;
if (PropertyChanged != null)
{
this.PropertyChanged(this, new PropertyChangedEventArgs("Number"));
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
}
}