首页 > 其他分享 >wpf中treeview和ICollectionView接口实现数据过滤

wpf中treeview和ICollectionView接口实现数据过滤

时间:2024-03-01 13:58:09浏览次数:14  
标签:category collectionView CollectionViewSource ICollectionView private isfilter wp

    private ICollectionView _collectionView;
    private void binddata(List<obj> list)
    {
        // 创建CollectionViewSource并绑定到TreeView
        CollectionViewSource collectionViewSource = new CollectionViewSource
        {
            Source = list
        };
        Treeview.ItemsSource = collectionViewSource.View;
        _collectionView = collectionViewSource.View;
    }
//搜索文本框去 private void TextBox_Changed(object sender, RoutedEventArgs e) { string filterText = Keyword.Text; // 设置过滤方法 _collectionView.Filter = item => { obj category = (obj )item; bool isfilter = false; if (category.children.Count != 0) { isfilter = category.children.Any(x => x.label.Contains(filterText)); } if (category.label.Contains(filterText)) { isfilter = true; }//多层级的使用两个if去过滤这个没过上一层可以过,这里可以做成递归 return isfilter; }; // 强制刷新视图 _collectionView.Refresh(); }

 

标签:category,collectionView,CollectionViewSource,ICollectionView,private,isfilter,wp
From: https://www.cnblogs.com/yueyan/p/18046861

相关文章

  • WPF Binding 绑定标记扩展
    参考绑定标记扩展Binding类环境软件/系统版本说明WindowsWindows10专业版22H219045.4046MicrosoftVisualStudioMicrosoftVisualStudioCommunity2022(64位)-17.6.5Microsoft.NetSDK8.0.101手动安装Microsoft.NetSDK7.0.306Mi......
  • VS2019 打包WPF安装程序
    说明最近开发了一个WPF的小工具,最初想发布成一个非安装版的可执行程序,发现有点困难,因为是基于.NetFramework4.7开发,还引用了一些其他库,WPF程序的运行是依赖.NetFramework环境的,所以必须提前安装。于是在官网上找到ClickOne的相关说明,可以把WPF打包成安装程序,当安装时会校......
  • WPF性能优化:Visual Studio性能分析工具使用介绍
    在硬件性能不断提升的现在,软件性能依旧是开发人员关注的重点。不同类型的程序关注的具体性能指标有所不同,服务器程序注重吞吐量,游戏引擎追求渲染效率,桌面程序则关注内存消耗以及界面加载效率和流畅性。当我们需要进行性能优化时,首先需要找到性能瓶颈。本文将介绍两个WPF性能优化......
  • WPF性能优化:性能分析工具
    在硬件性能不断提升的现在,软件性能依旧是开发人员关注的重点。不同类型的程序关注的具体性能指标有所不同,服务器程序注重吞吐量,游戏引擎追求渲染效率,桌面程序则关注内存消耗以及界面加载效率和流畅性。当我们需要进行性能优化时,首先需要找到性能瓶颈。本文将介绍两个WPF性能优化分......
  • WPF DataGrid交错行颜色
    代码如下<!-- AutoGenerateColumns="False"可以避免出现重复列 --><!-- CanUserAddRows="False"去除最后一行空白行 --><DataGridx:Name="datagrid"AlternationCount="2"AutoGenerateColumns="False"CanUserAddRow......
  • WPF DataGrid下的单元格嵌入CheckBox列表
    <DataGridWidth="auto"Height="auto"AutoGenerateColumns="False"CanUserAddRows="False"GridLinesVisibility="All">        <DataGrid.Columns><DataGridTempla......
  • 记一次WPF集成SemanticKernel+OneAPI+讯飞星火认知大模型实践
    开启OneAPI服务OneAPI介绍OpenAI接口管理&分发系统,支持Azure、AnthropicClaude、GooglePaLM2&Gemini、智谱ChatGLM、百度文心一言、讯飞星火认知、阿里通义千问、360智脑以及腾讯混元,可用于二次分发管理key,仅单可执行文件,已打包好Docker镜像,一键部署,开箱即用.Ope......
  • WPF UI更新技巧:掌握EventHandler的基础与Dispatcher的高级应用
     概述:在WPF中,通过EventHandler可实现基础和高级的UI更新方式。基础用法涉及在类中定义事件,并在UI中订阅以执行更新操作。高级用法借助Dispatcher类,确保在非UI线程上执行操作后,通过UI线程更新界面。这两种方法提供了灵活而可靠的UI更新机制。在WPF(WindowsPresentationFounda......
  • C#程序全局异常处理—WPF和Web API两种模式
    C#程序的全局异常处理,网上搜下资料都是一大堆,我这里最近也是独立做一个B/S结构的小项目,后面又增加了需求用WPF实现相同的功能,这里将我所使用的全局异常处理方式做一个简短的总结分享。WebAPI项目的全局异常处理这种项目下,我们可以直接自定义一个全局异常的过滤器,用来处理全局......
  • C# WPF 根据RGB三色得出透明度Opacity
    当我们把ARGB压缩为RGB数据时,会丢失A透明通道那么就有可能会遇到反推A透明通道的问题原理很简单,取RGB三色最大通道除255得到A通道Randomrandom=newRandom();bytered=Convert.ToByte(random.Next(0,0xff));bytegreen=Conver......