using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.Linq; using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using System.Xml.Serialization; using WPFProject.Models; using WPFProject.Utils; namespace WPFProject.UI.Test { /// /// 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); } } }