在我的WPF應用程序中的某個點,UI線程將鎖定〜0直到〜500毫秒(取決於數量),一旦我刪除和/或將項目添加到畫布。幾項性能測試指出Canvas.Children.Remove爲主要原因,並且.Add也是如此(.Remove更嚴重)。 我同時移除了大約500件物品,同時也增加了大約500件物品。這大約每秒10次會導致問題。 最後,我寫了一個簡單的基準測試應用程序,代碼如下。 public Main
我有一個MyGrid.Children UIElementCollection,我想找到所有其中的樣式設置爲StyleA的Rectangles,並設置他們來StyleB。 我想如果可能的話使用LINQ,所以我可以避免一個討厭的嵌套循環。 事情是這樣的僞代碼: var Recs = from r in MyGrid.Children
where r.Style == StyleA