我想操作ListView中的所有条目,最好是并行的。
Parallel.Foreach<ListViewItem>(auftraegeView.Items, line =>
{
line.Font = new Font(line.Font.FontFamily, someInt);
});但这不起作用,因为
无法从ListViewItemCollection转换为IEnumerable
ListViewItemCollection不提供像ToList()之类的方法。
我是那种爱笑又笑的人--我试着做了一个演员
(IEnumerable<ListViewItem>)auftraegeView.Items这没有抛出编译器错误,但在运行时导致了InvalidCasTException。
注意:
尖括号是有意倒置的,这样它们在这里就不会像HTML那样被吃掉。
问题:
是否有一种方法将ListView.Items / ListViewItemCollection转换为实现IEnumerable Interface的东西,从而与Parallel.ForEach一起工作
发布于 2014-04-28 08:32:45
试试这个:
Parallel.Foreach(auftraegeView.Items.Cast<ListViewItem>(), line =>
{
line.Font = new Font(line.Font.FontFamily, someInt);
});发布于 2014-04-28 09:08:40
您的问题可能得到了回答,但也许您应该考虑另一种方法来设置行的FontFamily。应该是UI的东西。尝试以样式声明它,或者如果您想动态更改字体,请使用某种触发器。
https://stackoverflow.com/questions/23336051
复制相似问题