我正在使用WPF中的过滤器,并且遵循这里建议的模式。
总结一下,这涉及在ViewModel上公开一个文本属性,该属性表示要过滤的文本。当属性被设置(由视图中文本框的绑定设置)时,它使用CollectionViewSource.GetDefaultView(MyItems).Filter = blah
来过滤可见的项目列表。
这个方法非常好用,但是当项目集合非常大时就会出现问题,因为过滤是在前台线程上执行的,从而导致UI挂起。是否存在在后台线程上执行过滤的模式,以及这如何符合Model-View-ViewModel设计模式?