优化更新代码,添加界面功能并整合
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Collections.Specialized;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace WPFluent.Controls;
|
||||
|
||||
public class TreeModelRowCollection<T> : ObservableCollection<T>
|
||||
{
|
||||
public void RemoveRange(int index, int count)
|
||||
{
|
||||
CheckReentrancy();
|
||||
if (Items is List<T> { } items)
|
||||
{
|
||||
items.RemoveRange(index, count);
|
||||
}
|
||||
OnReset();
|
||||
}
|
||||
|
||||
public void InsertRange(int index, IEnumerable<T> collection)
|
||||
{
|
||||
CheckReentrancy();
|
||||
if (Items is List<T> { } items)
|
||||
{
|
||||
items.InsertRange(index, collection);
|
||||
}
|
||||
OnReset();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <see cref="ObservableCollection{T}.CountString"/>
|
||||
/// <see cref="ObservableCollection{T}.IndexerName"/>
|
||||
/// </summary>
|
||||
private void OnReset()
|
||||
{
|
||||
OnPropertyChanged(nameof(Count));
|
||||
OnPropertyChanged("Item[]");
|
||||
OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset));
|
||||
}
|
||||
|
||||
private void OnPropertyChanged(string propertyName)
|
||||
{
|
||||
OnPropertyChanged(new PropertyChangedEventArgs(propertyName));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user