using System.Collections.ObjectModel; namespace XFEExtension.NetCore.WinUIHelper.Interface; /// /// 指定类型列表的视图模型接口 /// /// 模型类型 public interface IListViewModel where T : class { ObservableCollection ViewList { get; set; } List ModelList { get; set; } /// /// 加载到视图列表 /// /// void LoadToViewList(IEnumerable list) { Clear(); foreach (var item in list) Add(item); } /// /// 添加到视图列表 /// /// void AddToViewList(IEnumerable list) { foreach (var item in list) ViewList.Add(item); } /// /// 清除视图列表 /// void Clear() => ViewList.Clear(); /// /// 向视图列表添加一个元素 /// /// void Add(T item) => ViewList.Add(item); /// /// 从视图列表中移除指定元素 /// /// void Remove(T item) => ViewList.Remove(item); /// /// 在视图列表指定位置移除一个元素 /// /// void RemoveAt(int index) => ViewList.RemoveAt(index); /// /// 视图列表中是否包含指定元素 /// /// /// bool Contains(T item) => ViewList.Contains(item); /// /// 使用指定表达式搜索模型列表(而非视图列表) /// /// /// IEnumerable Search(Func predicte) => ModelList.Where(item => predicte(item)); }