using Plugin.TestBuilder.Model;
using Plugin.TestBuilder.UI;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Runtime.CompilerServices;
using System.Windows.Controls;
namespace Plugin.TestBuilder
{
///
/// FunctionSetting.xaml 的交互逻辑
///
public partial class FunctionSetting : UserControl, INotifyPropertyChanged
{
public virtual event PropertyChangedEventHandler PropertyChanged;
protected virtual void RaisePropertyChanged(string name)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
}
protected void RaiseAndSetIfChanged(ref T old, T @new, [CallerMemberName] string propertyName = null)
{
old = @new;
if (propertyName != null)
{
RaisePropertyChanged(propertyName);
}
}
public FunctionSetting()
{
DataContext = this;
InitializeComponent();
}
public DdDragHandler dragHandler { get; set; } = new DdDragHandler();
private ObservableCollection _FuncModels = new ObservableCollection() {
new FuncModel(){
Name = "111",
Children = new ObservableCollection(){
new FuncModel(){ Name = "1123"},
new FuncModel(){ Name = "1223"},
}
},
new FuncModel()
{
Name = "222",
Children = new ObservableCollection(){
new FuncModel(){ Name = "2123"},
new FuncModel(){ Name = "2223"},
}
}
};
public ObservableCollection FuncModels
{
get { return _FuncModels; }
set => RaiseAndSetIfChanged(ref _FuncModels, value);
}
}
}