簡體   English   中英

Parallel.ForEach中的ListViewItemCollection

[英]ListViewItemCollection in Parallel.ForEach

我想操縱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

嘗試這個:

Parallel.Foreach(auftraegeView.Items.Cast<ListViewItem>(), line => 
{
    line.Font = new Font(line.Font.FontFamily, someInt);
});

您的問題可能已得到解答,但也許您應該考慮另一種方法來設置行的FontFamily。 它應該是UI的東西。 嘗試以樣式聲明它,或者如果要動態更改字體,請使用某種觸發器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM