XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEExtension.NetCore.WinUIHelper

【DLL】WinUI的各种工具类,帮助开发者快速构建一个模块化的WinUI项目

公开
关注 0 Fork 0 Star 0
UTF-8
namespace XFEExtension.NetCore.WinUIHelper.Interface;

/// <summary>
/// 可搜索视图模型接口
/// </summary>
/// <typeparam name="T"></typeparam>
public interface ISearchableViewModel<T> : IListViewModel<T> where T : class
{
    /// <summary>
    /// 搜索文本
    /// </summary>
    string SearchText { get; set; }
    /// <summary>
    /// 搜索预测
    /// </summary>
    Func<string, T, bool> SearchPredicate { get; set; }

    /// <summary>
    /// 搜索模型
    /// </summary>
    /// <returns></returns>
    IEnumerable<T> SearchModels(string searchText) => ModelList.Where(item => SearchPredicate(searchText, item));

    /// <summary>
    /// 搜索模型
    /// </summary>
    /// <returns></returns>
    IEnumerable<T> SearchModels() => ModelList.Where(item => SearchPredicate(SearchText, item));

    /// <summary>
    /// 搜索并加载模型
    /// </summary>
    void SearchAndLoadToList() => LoadToViewList(SearchModels());
}