首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

更改Source时,CollectionViewSource Filter不会刷新

在这个问题中,我们讨论了在更改Source时,CollectionViewSource Filter不会刷新。这个问题涉及到前端开发和数据绑定。

首先,我们需要了解CollectionViewSource是什么。CollectionViewSource是一个用于数据绑定和数据转换的类,它可以将数据源转换为可用于数据绑定的格式。在WPF和UWP应用程序中,CollectionViewSource是一个常用的数据绑定类。

在这个问题中,我们还需要了解Filter是什么。Filter是一个用于过滤数据的概念,它可以用于过滤数据集合,只显示符合特定条件的数据。

当Source数据发生变化时,CollectionViewSource会自动刷新,但是Filter不会自动刷新。这意味着,如果您更改了Source数据,CollectionViewSource会自动更新,但是Filter不会自动更新。因此,如果您想要在更改Source数据时刷新Filter,您需要手动刷新CollectionViewSource。

为了解决这个问题,您可以使用以下代码:

代码语言:csharp
复制
collectionViewSource.View.Refresh();

这段代码将手动刷新CollectionViewSource的View,从而刷新Filter。

总之,在更改Source时,CollectionViewSource Filter不会自动刷新,因此您需要手动刷新CollectionViewSource的View以刷新Filter。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

WPF 中 ICollectionView 及 ItemsControl 相关的重点

为 OEA 框架 做 WPF 树型表格控件,浪费了许多时间在一些知识点上,所以写了这篇博客总结一下,和各位博友分享。...也可以直接使用 Refresh 方法来命令视图的刷新(内部实现一般为重建内部视图模型集合)。 如果是批量操作,也可以使用 RefreshDefer 方法来抑制多次刷新,待多个更新操作后再统一刷新。...当在 XAML 中进行类似的特殊构造,我们则可以使用 CollectionViewSource 标签,并设置它的 CollectionViewType 属性。...也就是说,Items 其实是 ItemsSource 属性的视图集合类,我们可以通过这个属性来设置 ItemsControl 中集合的显示方案(Filter、Sorting、Grouping、Current...当 ItemsSource 存在,_collectionView 字段是 CollectionViewSource.GetDefaultView 来为 ItemsSource 找到它所对应的 CollectionView

1.7K60
  • WPF 已知问题 清空 CollectionView 的 SortDescriptions 可能抛出空异常

    本文记录一个 WPF 的已知问题,在通过 CollectionViewSource 获取到 CollectionView 之后,如果 CollectionViewSource 对象已被 GC 回收,将可能在调用...CollectionView 的 SortDescriptions 属性进行清空或者移除项,也就是使用 SortDescriptionCollection 类型的清空或者移除项,在 WPF 框架里面抛出空异常...new CollectionViewSource() { Source = new List(), IsLiveSortingRequested...MyClass.Foo(); 阅读 WPF 框架的源代码,可以了解到原因就是因为 CollectionViewSource 对象没有被引用,从而被 GC 回收。...DetachFromSourceCollection 方法里面,将 _sourceCollection 设置为空,这就导致了在清空 SortDescriptionCollection 内容的时候,尝试获取 _sourceCollection 的属性

    63420

    Windows Phone 8.1 新特性 - 控件之列表选择控件

    ZoomedInView 中我们定义了一个联系人列表,每个元素包括了一个Border 和一个代表人名的文本控件,这些元素按照首字母分组,点击首字母进入ZoomedOutView。...下面我们看看数据的绑定过程: protected override void OnNavigatedTo(NavigationEventArgs e) { CollectionViewSource...listViewSource = new CollectionViewSource(); listViewSource.IsSourceGrouped = true; listViewSource.Source...我们定义了一个 CollectionViewSource 类型的实例,它可以向集合类添加分组支持的数据源。把它的Source设置为我们定义的数据分组集合。...然后把listViewDetail 和 listViewSummary 的数据源分别设置为 CollectionViewSource 的视图对象和视图的集合组。

    1.3K90

    【我们一起写框架】MVVM的WPF框架(四)—DataGrid

    所以,我们在编写框架,设计模式中该切割的东西,就不要犹豫的切割。因为,架构师是设计模式的使用者,而不是被使用者。...如果没有数据控件,那当我们实现一个控件联动,就得在Xaml.cs文件中处理了。...(_ItemsSource); _ItemsSourceView.Filter = new Predicate(DataFilter);...ItemsSourceView.Refresh(); } #endregion } 从代码中我们可以看到,DataGrid控件不仅包含了基础属性,还包含了上一页,下一页,刷新...(这里我们使用SetItemSource方法为ItemSource赋值) 然后我们会发现,只要我们操作数据控件的ItemSource,不论是增加数据,删除数据,变更数据,页面都会自动的同步刷新

    1.2K20

    Linux防火墙详解「建议收藏」

    FirewallD可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得全部刷新才可以生效。.../etc/sysconfig/iptables 里读取所有新的规则,使用 firewalld 却不会再创建任何新的规则;仅仅运行规则中的不同。...-X ##删除链 -D ##删除规则 -I ##插入规则 -R ##更改规则 -P ##更改默认规则 注意:火墙策略是由上到下读取,当第一条与第二条发生冲突,第一条策略生效。...查看表filter策略 清空策略,在INPUT链中指定允许所有,查看策略(默认查看filter) 删除INPUT链中的第一条策略 iptables -P INPUT DROP...) firewall-cmd --reload 重启服务 firewall-cmd --permanent --add-source=172.25.254.0/24 --zone=

    2.2K40

    MySQL8 中文参考(二十)

    此外,当二进制日志的大小达到max_binlog_size系统变量的值,二进制日志会被刷新。 您可以在运行时控制一般查询和慢查询日志。您可以启用或禁用日志记录,或更改日志文件名。...写入日志表的条目不会写入二进制日志,因此不会被复制到副本。 要刷新日志表或日志文件,请分别使用FLUSH TABLES或FLUSH LOGS。 不允许对日志表进行分区。...在处理启动选项并了解错误日志配置之后,服务器会刷新缓冲的消息。由于这些早期消息使用默认日志配置,它们可能与启动选项指定的内容不同。此外,早期消息不会刷新到除默认接收器之外的日志接收器。...然而,当使用基于行的二进制日志记录,更新以行更改的形式发送,而不是 SQL 语句,因此当binlog_format设置为ROW,这些语句永远不会写入查询日志。...服务器重启和日志刷新不会导致生成新的通用查询日志文件(尽管刷新会关闭并重新打开它)。

    14110

    Elasticsearch 聚合性能优化六大猛招

    如下图所示,将文档插入 Elasticsearch ,它们会被写入缓冲区中,然后在刷新定期从该缓冲区刷新到段中。刷新频率由 refresh_interval 参数控制,默认每1秒发生一次。...global ordinals 的本质是:启用 eager_global_ordinals ,会在刷新(refresh)分片时构建全局序号。..., "eager_global_ordinals": true } } } } 注意:开启 eager_global_ordinals 会影响写入性能,因为每次刷新都会创建新的全局序号...4.2 插入数据对索引进行预排序 Index sorting (索引排序)可用于在插入时对索引进行预排序,而不是在查询再对索引进行排序,这将提高范围查询(range query)和排序操作的性能。...如果多次执行同一 filter 操作,这将很有效,但是即便更改过滤器中的某一个值,也将意味着需要计算新的过滤器结果。

    3.8K20

    MongoDB模拟多文档事务操作

    这样做是为了防止多个客户端同时对一个账户执行修改操作,只有一个这种事务文档,那么当AB间的转账行为开始,事务文档的状态为“pending”,而事务开始要查找的是状态为“initial”的事务文档,因此不会获得这样的事务文档...,也就不会执行任何操作,只有当AB转账操作完成后才有可能再次执行类似的操作。...第4步,第3步执行成功的前提下,将事务文档状态由“pending”更改为“applied”。 第5步,第4步执行成功的前提下,移除事务标识。...第6步,第5步执行成功的前提下,将事务文档状态由“applied”更改为“done”。 第7步,不论第6步是否执行成功,将事务文档状态“done”更改为“initial”。...对于第0步: 如果创建不成功不会产生任何影响。 对于第1步: 如果没有找到,不会产生任何影响。 对于第2步: 如果事务文档状态修改不成功,不会产生任何影响。

    1.3K90

    Elasticsearch探索: Reindex API

    选项对所有的源 index 文档是启动的,也即源 index 的 source 是被存储的 reindex不会尝试设置目标索引。...它不会复制源索引的设置信息。您应该在运行_reindex操作之前设置目标索引,包括设置映射,分片数,副本等。...元素中指定size字段来更改批量处理大小: POST _reindex { "source": { "index": "source", "size": 100 #batch size..._source.scope = 'suifang';" } } 路由Routing 默认情况下,如果_reindex看到具有路由的文档,则路由将被保留,除非脚本被更改。...默认值是1s,在做reindex可以将每个索引的refresh_interval到30s或禁用(-1)。  如果正在进行大量数据导入,reindex就是此场景,先将此值设置为-1来禁用刷新

    2.2K11

    【搜索引擎】配置 Solr 以获得最佳性能

    1.配置缓存 Solr 缓存与索引搜索器的特定实例相关联,索引的特定视图在该搜索器的生命周期内不会更改。 为了最大化性能,配置缓存是最重要的一步。...queryResultCache 和 documentCache,这些缓存会被刷新,并且不会产生太大的性能影响。...如果这是错误的,则提交会将最近的索引更改刷新到稳定存储,但不会导致打开新的搜索器以使这些更改可见。默认值为真。...您可以在 schema.xml 中创建一个 copyField,如下所示: source:要复制的字段的名称 dest:...Filter Queryfq 对于加速复杂查询非常有用,因为使用 fq 指定的查询独立于主查询进行缓存。当后面的查询使用相同的过滤器,会发生缓存命中,并且过滤器结果会从缓存中快速返回。

    1.6K20

    开源搜索和分析引擎Elasticsearche在Bay的性能优化实践,单集群日搜索请求超4亿

    运行性能测试:在案例启动以后,集群将受到监控,每当数据发生变化,查询更改或者流量增加,用户都可以自由地重新运行性能测试。...增加刷新间隔。每次刷新事件发生,Elasticsearch都会创建一个新的Lucene段,并在稍后进行合并。增加刷新间隔将降低创建/合并的成本。请注意,只有在刷新事件发生后才能进行文件搜索。...比较查询和过滤 增加刷新间隔。正如在调优索引性能部分所提到的,Elasticsearch每次刷新都会创建一个新的段。增加刷新间隔将有助于减少段数并降低搜索的IO成本。...分片查询缓存使用JSON主体作为缓存键,因此需要确保JSON主体不会更改,并确保JSON主体中的键具有相同的顺序。 o Round日期时间。...或许想运行一个脚本查询,如“source”:“doc [‘num’].value.startsWith(’1234’)。” 这个查询是非常耗费资源的,并且减慢整个系统。

    2K80
    领券