1
我有一个包含近1100个元素的通用列表。这些元素中几乎10个包含1000个元素(相同类型)。元素绑定到UI DataGrid。对这个列表进行判断需要很长的时间5-6秒(因为我在迭代中操作的属性是数据绑定到DataGrid属性的)。Parallel.ForEach在处理大列表时将MVVM中的布局挂起
这里是迭代代码:
Parallel.ForEach(this.AllParameters, par =>
{
foreach (Parameter subPar in par.WrappedSubParameters)
{
subPar.IsSelected = false;
}
par.IsSelected = false;
});
在XAML的代码片段看起来像:
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}" BasedOn="{StaticResource {x:Type DataGridRow}}">
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=OneWay}" />
正如我previous question我建议使用并行迭代,但它挂在UI和永不返回。如何在MVVM中进行迭代之前暂停UI。我是否以正确的方式执行代码?请提出建议。 谢谢