c# - 使用 Parallel 创建绑定(bind)项时 CollectionViewSource.SortDescriptions 不起作用

标签 c# wpf task-parallel-library task collectionviewsource

我使用的是 VS2013、.net4.5、WPF 桌面应用程序。

Xaml:

    <CollectionViewSource x:Key="cvs" Source="{Binding ObsPasses, Mode=OneWay}">
        <CollectionViewSource.SortDescriptions>
            <scm:SortDescription PropertyName="StartDate"/>
        </CollectionViewSource.SortDescriptions>
    </CollectionViewSource>

CS:

            this.ObsPasses = new ObservableCollection<PassViewModel>(
            Passes.AsParallel().Select(x => new PassViewModel(x)));

如果我删除.AsParallel(),则项目会排序,如果添加,项目会乱序。 但我感觉有点奇怪。无论项目在后台添加的顺序如何,SortDescription 是否保证 UI 项目都将排序?

最佳答案

快速建议,如果您可以尝试在 CollectionViewSource 上添加 IsLiveFilteringRequested="True"。

让我知道它是否有效。

关于c# - 使用 Parallel 创建绑定(bind)项时 CollectionViewSource.SortDescriptions 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38095258/

相关文章:

c# - 在面向服务的体系结构中为服务调用定义方法签名的最佳实践是什么?

c# - IE 不适用于 javascript onclick 事件...适用于 FF 和 Chrome

wpf - 禁用 WPF TreeView(或 TreeViewItem)选择?

c# - Action 和 Func 参数不明确

C# 如何创建一个类来存储来自文本框的字符串值

c# - 空传播运算符

c# - MVVM 模式 : an intermediate View between Command binding and ViewModel execute

c# - 按钮已禁用 - DialogHost 和日历

c# - AsParallel 扩展的实际工作原理

c# - 任务列表循环开始偏移量